본문 바로가기

Web Hacking6

[Web Hacking] Web Trend 과거의 웹은 새로운 페이지를 보려면 전체 새로고침을 해야 했습니다.지금은 비동기 통신, 실시간 연결 등 기술로 새로고침 없이 더 빠르게 새로운 페이지를 볼 수 있게 되었습니다.이것을 가능하게 해 준 기술을 나열해 보겠습니다. 1. Ajax (Asynchronous JavaScript snd XML)Ajax는 페이지 전체를 새로고침하지 않고, 백그라운드에서 서버와 데이터를 주고받는 기술을 말합니다. 사용자가 버튼을 누르는 등의 행위를 통해 서버에 요청을 보낼 때,브라우저가 필요한 부분만 조용히 서버에 요청을 보내고, 필요한 데이터만 받아 화면 일부를 변경합니다. 조금이라도 변화가 생기면 전체 새로고침을 해야 했던 과거와 달리,현재는 이 기술을 통해 특정 부분의 데이터만 받아와 화면을 갈아 끼웁니다. 이로 .. 2026. 3. 13.
[Web Hacking] 브라우저 보안 정책 - SOP, CORS, Origin 웹 브라우저는 사용자를 보호하기 위해 여러 가지 보안정책을 적용합니다.그중 가장 기본이 되는 것이 SOP(Same-Origin Policy) 이고, 이를 예외적으로 완화하는 방식이 CORS(Cross-Origin Resource Sharing) 입니다. 1. Origin브라우저에서 Origin 이란 보통 아래 3가지 조합을 의미합니다.프로토콜(Scheme): http, https호스트(Host): www.test.com, api.test.com, 192.168.0.10포트(Port): 80, 443, 8080즉, 이 3개가 모두 같아야 같은 Origin 입니다.예시https://www.test.com이 주소의 Origin은 다음과 같습니다.프로토콜: https호스트: www.test.com포트: 기본적으.. 2026. 3. 10.
[Web Hacking] 인코딩 및 Character Set 컴퓨터는 문자를 그대로 이해하지 못하고, 결국 숫자(바이트) 로 처리합니다.따라서 우리가 입력한 안녕?, ABC123 같은 문자열은 내부적으로는 특정 규칙에 따라 숫자로 바뀌어 저장되거나 전송됩니다.이때 중요한 개념이 바로 문자집합Character Set 과 인코딩(Encoding) 입니다. 1. Character Set문자를 숫자에 매핑한 것을 문자 집합이라고 합니다. Ex) A -> 65, B -> 66 등 대표적인 문자집합:ASCIIEUC-KRShift_JISUTF-8UTF-16CP949 (한글 Windows 계열에서 많이 사용)일본 Windows 코드페이지 (대표적으로 Shift_JIS 계열)즉, 같은 문자라도 어떤 문자집합/인코딩 규칙을 쓰느냐에 따라 저장되는 바이트 값이 달라질 수 있습니다. .. 2026. 3. 10.
[Web Hacking] HTTP Method HTTP 통신에 사용되는 메서드가 존재합니다. 대표적인 것이 GET. POST이고, PUT이나 DELETE 등 여러 메소드들이 존재합니다. 메서드주요 역할본문(Body)멱등성*안전성주요 특징GET리소스 조회XOOURL에 데이터를 담아 전송 (캐싱 가능)POST리소스 생성OXX서버의 상태를 변경, 새 리소스 생성 시 사용PUT리소스 전체 수정OOX리소스가 없으면 생성, 있으면 통째로 교체PATCH리소스 부분 수정OXX리소스의 특정 필드만 변경할 때 효율적DELETE리소스 삭제(선택적)O--HEAD응답 헤더 출력----OPTIONS사용가능 메소드 출력---- 멱등성(Idempotent): 같은 요청을 100번 보내도 서버의 상태가 처음 1번 보냈을 때와 같은 성질입니다. (예: DELETE는 여러 번 해도.. 2026. 3. 10.
[Web Hacking] 요청과 응답 (Request, Response) [그림 1] 조직도의 흐름대로 실제로 브라우저를 통해 네이버에 접속한다고 가정합니다. 사용자는 브라우저를 통해 요청Request을 보내고, 서버는 이에 맞는 응답Response을 보내 줍니다. 웹은 주로 HTTP를 사용하며, HTTP는 기본적으로 stateless 이기 때문에, 사용자의 상태를 저장하지 않습니다.사용자가 각각 요청을 보내면 다 별개로 응답을 해 줍니다. 네이버의 메인 페이지 html 코드를 응답받았는데, css가 다른 경로에 존재한다. -> 서버에게 다시 CSS를 요청해서 받습니다.html 코드를 또 확인하니 사진 경로가 보인다 -> 서버에게 해당 경로에 있는 사진을 요청해서 받습니다.[그림 3]처럼 개발자 도구의 Network 탭에서 요청/응답해서 받은 자원들을 확인할 수 있습니다. .. 2026. 1. 30.
[Web Hacking] 웹의 작동 원리와 개발 방식 웹 해킹을 공부하기 위해선 먼저 웹의 작동 원리를 알아야 합니다.직접 웹 애플리케이션 개발을 해 보는 것이 좋으며, CRUD 게시판을 만들고 코드를 리딩할 수 있는 정도면 됩니다.시간 절약을 위해 게시판 개발은 AI의 도움을 받아도 되지만, 게시판 코드를 읽고 이해할 수 있어야 합니다. 웹 애플리케이션은 아래와 같은 방식으로 작동합니다. 1. 클라이언트는 도메인(test.com)으로 서버에 자원 요청2. 도메인을 IP로 변환한 뒤, 라우터와 보안 장비를 거쳐 웹 서버에 도달3. 로직 처리를 위해 WAS에게 요청 전달4. WAS는 데이터 처리를 위해 DB 쿼리 전달5. DB에서 쿼리 수행 후 WAS에 결과 응답6. WAS에서 로직 처리 후 Web Server에 결과 응답7. 다시 보안장비/라우터를 거.. 2026. 1. 30.