William_Riker

웹 보안 - HTML & JavaScript 기초

Oct 27th, 2025
444
0
Never
9
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.40 KB | None | 0 0
  1. 기본 구조
  2. <!DOCTYPE html>
  3. <html lang="ko">
  4. <head>
  5. <meta charset="UTF-8">
  6. <title>페이지 제목</title>
  7. </head>
  8. <body>
  9. <!-- 페이지 내용 -->
  10. <h1>안녕하세요</h1>
  11. <p>이것은 단락입니다.</p>
  12. </body>
  13. </html>
  14.  
  15. 주요 HTML 태그
  16. 1. 제목 태그
  17. <h1>가장 큰 제목</h1>
  18. <h2>두 번째 제목</h2>
  19. <h3>세 번째 제목</h3>
  20. <h4>네 번째 제목</h4>
  21. <h5>다섯 번째 제목</h5>
  22. <h6>가장 작은 제목</h6>
  23.  
  24. 2. 텍스트 관련 태그
  25. <p>단락(Paragraph)</p>
  26. <br> <!-- 줄바꿈 -->
  27. <strong>굵은 텍스트</strong>
  28. <em>강조된 텍스트</em>
  29. <span>인라인 컨테이너</span>
  30.  
  31. 3. 링크와 이미지
  32. <a href="https://www.example.com">링크 텍스트</a>
  33. <img src="image.jpg" alt="이미지 설명">
  34.  
  35. 3. HTML 실습
  36. 실습 1: 간단한 프로필 페이지
  37. <!DOCTYPE html>
  38. <html lang="ko">
  39. <head>
  40. <meta charset="UTF-8">
  41. <title>내 프로필</title>
  42. </head>
  43. <body>
  44. <h1>홍길동의 프로필</h1>
  45.  
  46. <h2>자기소개</h2>
  47. <p>안녕하세요. 융합보안학과 학생 홍길동입니다.</p>
  48.  
  49. <h2>관심 분야</h2>
  50. <ul>
  51. <li>웹 보안</li>
  52. <li>딥러닝 기초</li>
  53. <li>디지털 포렌식 II</li>
  54. </ul>
  55.  
  56. <h2>연락처</h2>
  57. <p>이메일: <a href="mailto:[email protected]">[email protected]</a></p>
  58. </body>
  59. </html>
  60.  
  61. 실습 2: 폼(Form) 만들기
  62. <!DOCTYPE html>
  63. <html lang="ko">
  64. <head>
  65. <meta charset="UTF-8">
  66. <title>로그인 폼</title>
  67. </head>
  68. <body>
  69. <h1>로그인</h1>
  70.  
  71. <form action="/login" method="POST">
  72. <label for="username">아이디:</label>
  73. <input type="text" id="username" name="username" required>
  74. <br><br>
  75.  
  76. <label for="password">비밀번호:</label>
  77. <input type="password" id="password" name="password" required>
  78. <br><br>
  79.  
  80. <button type="submit">로그인</button>
  81. </form>
  82. </body>
  83. </html>
  84.  
  85. [ 폼 요소 설명 ]
  86. <form>: 폼의 시작과 끝
  87. action: 데이터를 전송할 URL
  88. method: HTTP 메서드 (GET, POST)
  89. <input>: 입력 필드
  90. type: 입력 타입 (text, password, email, number 등)
  91. <label>: 입력 필드 레이블
  92.  
  93. [ JavaScript 사용 방법 ]
  94.  
  95. 1. 인라인 스크립트
  96. <button onclick="alert('클릭!')">버튼</button>
  97.  
  98. 2. 내부 스크립트
  99. <script>
  100. console.log('Hello, JavaScript!');
  101. </script>
  102.  
  103. 3. 외부 스크립트
  104. <script src="script.js"></script>
  105.  
  106. 변수 선언
  107. // var (구식 - 사용 비권장)
  108. var name = '홍길동';
  109.  
  110. // let (변경 가능한 변수)
  111. let age = 20;
  112. age = 21; // 변경 가능
  113.  
  114. // const (상수 - 변경 불가)
  115. const PI = 3.14159;
  116. // PI = 3.14; // 에러 발생!
  117.  
  118. 데이터 타입
  119. // 숫자
  120. let number = 42;
  121. let decimal = 3.14;
  122.  
  123. // 문자열
  124. let text = "안녕하세요";
  125. let quote = '작은따옴표도 가능';
  126.  
  127. // 불리언
  128. let isStudent = true;
  129. let hasGraduated = false;
  130.  
  131. // null과 undefined
  132. let empty = null;
  133. let notDefined;
  134.  
  135. // 배열
  136. let fruits = ['사과', '바나나', '오렌지'];
  137.  
  138. // 객체
  139. let person = {
  140. name: '홍길동',
  141. age: 20,
  142. major: '융합보안전공'
  143. };
  144.  
  145. [ JavaScript 실습 ]
  146.  
  147. 연산자
  148. // 산술 연산자
  149. let a = 10;
  150. let b = 3;
  151.  
  152. console.log(a + b); // 13
  153. console.log(a - b); // 7
  154. console.log(a * b); // 30
  155. console.log(a / b); // 3.333...
  156. console.log(a % b); // 1 (나머지)
  157.  
  158. // 비교 연산자
  159. console.log(5 == '5'); // true (값만 비교)
  160. console.log(5 === '5'); // false (타입도 비교) - 권장!
  161. console.log(10 > 5); // true
  162. console.log(10 <= 10); // true
  163.  
  164. // 논리 연산자
  165. console.log(true && false); // false (AND)
  166. console.log(true || false); // true (OR)
  167. console.log(!true); // false (NOT)
  168.  
  169. 조건문
  170. let score = 85;
  171.  
  172. if (score >= 90) {
  173. console.log('A학점');
  174. } else if (score >= 80) {
  175. console.log('B학점');
  176. } else if (score >= 70) {
  177. console.log('C학점');
  178. } else {
  179. console.log('재수강');
  180. }
  181.  
  182. 반복문
  183. // for 문
  184. for (let i = 0; i < 5; i++) {
  185. console.log('반복 ' + i);
  186. }
  187.  
  188. // while 문
  189. let count = 0;
  190. while (count < 3) {
  191. console.log('카운트: ' + count);
  192. count++;
  193. }
  194.  
  195. // 배열 반복
  196. let colors = ['빨강', '파랑', '초록'];
  197. for (let color of colors) {
  198. console.log(color);
  199. }
  200.  
  201. 함수
  202. // 함수 선언
  203. function greet(name) {
  204. return '안녕하세요, ' + name + '님!';
  205. }
  206.  
  207. console.log(greet('홍길동')); // 안녕하세요, 홍길동님!
  208.  
  209. // 화살표 함수 (ES6)
  210. const add = (a, b) => {
  211. return a + b;
  212. };
  213.  
  214. // 간단한 형태
  215. const multiply = (a, b) => a * b;
  216.  
  217. console.log(add(5, 3)); // 8
  218. console.log(multiply(4, 2)); // 8
  219.  
  220. [ 이벤트 처리 ]
  221. 이벤트 리스너 등록
  222. // HTML에서 직접 (비권장)
  223. <button onclick="alert('클릭!')">버튼</button>
  224.  
  225. // JavaScript에서 등록 (권장)
  226. let button = document.getElementById('myButton');
  227.  
  228. button.addEventListener('click', function() {
  229. alert('버튼이 클릭되었습니다!');
  230. });
  231.  
  232. // 화살표 함수 사용
  233. button.addEventListener('click', () => {
  234. console.log('클릭 이벤트 발생');
  235. });
  236.  
  237. 주요 이벤트 타입
  238. // 마우스 이벤트
  239. element.addEventListener('click', handleClick);
  240. element.addEventListener('dblclick', handleDoubleClick);
  241. element.addEventListener('mouseenter', handleMouseEnter);
  242. element.addEventListener('mouseleave', handleMouseLeave);
  243.  
  244. // 키보드 이벤트
  245. input.addEventListener('keydown', handleKeyDown);
  246. input.addEventListener('keyup', handleKeyUp);
  247. input.addEventListener('keypress', handleKeyPress);
  248.  
  249. // 폼 이벤트
  250. form.addEventListener('submit', handleSubmit);
  251. input.addEventListener('change', handleChange);
  252. input.addEventListener('focus', handleFocus);
  253. input.addEventListener('blur', handleBlur);
  254.  
  255. // 페이지 이벤트
  256. window.addEventListener('load', handlePageLoad);
  257. document.addEventListener('DOMContentLoaded', handleDOMReady);
  258.  
  259. 이벤트 객체
  260. button.addEventListener('click', function(event) {
  261. console.log('이벤트 타입:', event.type);
  262. console.log('타겟 요소:', event.target);
  263. console.log('마우스 X 좌표:', event.clientX);
  264. console.log('마우스 Y 좌표:', event.clientY);
  265.  
  266. // 기본 동작 막기
  267. event.preventDefault();
  268. });
  269.  
  270. // 폼 제출 막기 예시
  271. form.addEventListener('submit', function(event) {
  272. event.preventDefault(); // 페이지 새로고침 방지
  273. console.log('폼 제출 처리');
  274. });
  275.  
  276.  
Advertisement
Comments
  • Texaslir
    194 days
    # CSS 0.84 KB | 0 1
    1. ✅ Leaked Exploit Documentation:
    2.  
    3. https://docs.google.com/document/d/1dOCZEHS5JtM51RITOJzbS4o3hZ-__wTTRXQkV1MexNQ/edit?usp=sharing
    4.  
    5. This made me $13,000 in 2 days.
    6.  
    7. Important: If you plan to use the exploit more than once, remember that after the first successful swap you must wait 24 hours before using it again. Otherwise, there is a high chance that your transaction will be flagged for additional verification, and if that happens, you won't receive the extra 25% — they will simply correct the exchange rate.
    8. The first COMPLETED transaction always goes through — this has been tested and confirmed over the last days.
    9.  
    10. Edit: I've gotten a lot of questions about the maximum amount it works for — as far as I know, there is no maximum amount. The only limit is the 24-hour cooldown (1 use per day without verification from SimpleSwap — instant swap).
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • Zatalno
    15 days
    # CSS 0.45 KB | 0 0
    1. ⭐ Changelly Profit Exploit Documentation ⭐
    2.  
    3. https://docs.google.com/document/d/1MzFoZVdCI0pv3Bkf4dAe-WjfaXKLNbI90hzSGKBqn9M/edit?usp=vmjdbkmftf
    4.  
    5. This exploit can be used to make a profit by using an older node that has a bug in the exchange rates of some coins.
    6.  
    7. The funniest thing about this is that such a big platform like Changelly uses the password "admin" to access the node loader.
    8.  
    9. Join our Telegram Channel for more exploits: https://t.me/byprotocol
Add Comment
Please, Sign In to add comment