코드네임 :
🕵️♂️ Web Hacking 스타뚜 본문
강의 수강에 필요한 사전지식...이요? ㅋㅋ
[ HTTP vs HTTPS ]
HTTP (HyperText Transfer Protocol)
: 웹 브라우저와 웹 서버가 텍스트, 이미지, 영상 등을 주고받는 약속된 규칙
🧠 쉽게 말하면:
브라우저: “나 이 글 보고 싶어!”
서버: “알겠어, 이 HTML 파일 줄게!”
- HTTP는 도청당하기 쉬움 (패킷을 가로채면 비밀번호, 쿠키 등이 유출될 수 있음)
ㄴ 해커들이 중간자 공격을 자주 노림
HTTPS (HTTP + Secure)
: 암호화된 통신
- TLS/SSL을 사용해서 통신 내용 보호
[ 쿠키와 세션 ]
📎 왜 필요한가?
: 웹은 기본적으로 "상태를 기억하지 못하는 프로토콜" -> 로그인하고 다음 페이지로 넘어가면 누군지 모름 -> 따라서 정보 저장 필요
쿠키
- 브라우저에 저장
- 사용자의 PC에 저장된 정보
- 로그인 토큰, 장바구니 정보
세션
- 서버에 저장
- 브라우저는 세션 ID만 가지고 다님
- 서버가 ID에 대응하는 사용자 정보를 관리
- 세션 탈취 : 쿠키 탈취 시 그 사람으로 로그인한 척 가능
- 500에러가 자주 뜨는 페이지는 SQL Injection 같은 취약점 가능성 있음
4. HTTP 메서드 (GET vs POST)
- GET 요청으로 비밀번호 전송하면 주소창에 노출돼서 보안 취약
- POST 요청도 검증 안 하면 XSS나 SQL Injection 당할 수 있음
5. 입력 검증 (Input Validation)
- 사용자의 입력을 그대로 처리하면 위험
- 예시: 검색창에 '><script>alert(1)</script> 입력하면?
- → XSS(크로스사이트스크립팅) 발생 가능
➡️ 방어 전략
- HTML 인코딩
- SQL 쿼리 파라미터화
- 정규식으로 입력 검증
6. 인코딩 vs 암호화
🔚 정리: 웹 구조를 이렇게 이해하면…
브라우저 → 서버 요청 흐름
- 사용자가 https://example.com/login 입력
- 브라우저가 서버에 GET /login 요청
- 서버는 로그인 HTML 폼 전송
- 사용자 입력 후 POST /login 요청 (아이디/비번 전송)
- 서버는 세션 생성 → 쿠키로 전달
- 이후 요청부터는 쿠키로 사용자 식별
'🔐Security' 카테고리의 다른 글
🕵️♂️ 웹 해킹 - php.ini 파일내 magic_quotes_gpc 설정 < 이거 이미 사라졋대 (0) | 2025.06.11 |
---|---|
🕵️♂️ 웹 해킹 - MAMP 설치 (+htdocs와 그 내부 파일 열기 내용) (0) | 2025.06.11 |
Security - 플래그 찾기 (1) | 2025.05.11 |
드림핵 - 컴퓨터 과학 기초 (0) | 2025.04.17 |
드림핵 - 워게임 문제 풀이 방법 (0) | 2025.04.14 |