Burp와 SQLmap 연동 자동화 워크플로
승인된 보안검사 범위에서 Burp와 SQLmap을 연동하여 자동화된 SQL 인젝션 검증 워크플로를 설계·구축하고 운영 시 고려사항을 정리한 기술 개요
목차
개요
웹 애플리케이션 취약점 평가에서 Burp Suite와 SQLmap을 연동하면 수동 탐지와 자동화 검증을 결합한 효율적인 워크플로를 만들 수 있다. 본 문서는 승인된 보안검사 환경을 전제로, 연동의 개념, 준비물, 실행 순서, 자동화 구성, 결과 해석과 안전 수칙을 쉽게 설명한다.
전제 조건과 준비물
권한과 법적 준수
테스트 대상에 대한 명시적 허가가 필요하다. 허가 없는 테스트는 불법 행위가 될 수 있으므로 조직의 승인 범위를 확인한다.
기본 도구
- Burp Suite (Proxy, Repeater, Intruder 사용 가능)
- SQLmap 최신 버전
- 프록시 설정을 위한 네트워크 권한과 파일 저장 공간
- 간단한 스크립트(ex. bash 또는 Python)로 자동화 파이프라인 구성
워크플로 개요
기본 흐름은 다음과 같다. 먼저 Burp로 트래픽을 캡처하고 의심되는 요청을 식별한다. 이어 해당 요청을 파일로 저장하거나 Burp 확장 기능을 통해 SQLmap으로 전달한다. 마지막으로 SQLmap 결과를 수집해 취약성 여부를 검토하고 보고한다.
Burp에서 요청 추출
요청 식별
Burp의 Proxy 탭에서 애플리케이션 트래픽을 모니터링한다. 입력값이 반영되는 파라미터를 찾아 간단한 테스트 페이로드로 반응을 확인한다. 반응에 따라 자동화할 요청을 선정한다.
요청 저장 방법
선택한 요청을 오른쪽 클릭해 "Save item"으로 raw HTTP 형식으로 저장한다. 또는 Repeater 탭에서 요청을 복사해 파일로 저장할 수 있다. 저장 파일은 SQLmap의 -r 옵션으로 불러올 수 있는 형태여야 한다.
POST /path/page.php HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 27
id=123&search=KEYWORD
SQLmap으로 검증
저장한 요청을 SQLmap으로 불러와 보다 깊은 검증을 수행한다. 실행 시에는 목표 범위와 위험도를 적절히 조정한다. 자동화 옵션을 사용하면 반복 검사와 데이터베이스 수집을 간소화할 수 있다.
sqlmap -r request.txt --batch --level=2 --risk=1 --threads=2 --dbs
위 예시는 자리표시자와 옵션을 단순화한 형태다. 실제 환경에서는 --level, --risk, --technique 등을 테스트 목적에 맞춰 조정한다.
자동화 스크립트 구성
기본 원칙
자동화는 안정성과 추적성을 우선으로 한다. 테스트마다 식별 가능한 로그와 결과 파일을 남기고, 실패 시 재시도 정책을 둔다.
간단한 파이프라인 예
- Burp에서 요청 추출 → requests/에 저장
- 스케줄러가 requests/를 순회 → 각 요청에 대해 SQLmap 실행
- 결과는 results/에 JSON 또는 텍스트로 저장
- 중복 보고서 제거와 요약 파일 생성
# pseudocode
for f in requests/*; do
sqlmap -r "$f" --batch --output-dir="results/$(basename "$f")"
done
결과 해석과 후속 조치
SQLmap은 발견된 취약성에 대해 페이로드 유형, 취약한 파라미터, 가능한 데이터베이스 유형 등을 보고한다. 결과를 그대로 수용하지 말고, Burp에서 수동으로 재검증해 오탐 여부를 확인한다. 검증이 완료되면 패치 우선순위, 재검증 계획, 영향 범위 분석을 문서화한다.
안전과 운영 고려사항
- 부하 통제: 자동화 도구는 대상 서버에 높은 부하를 줄 수 있다. 트래픽 양을 제어한다.
- 로그 보존: 요청과 응답을 기록하되 민감정보는 마스킹한다.
- 격리 환경: 가능한 경우 테스트용 스테이징 환경에서 먼저 실행한다.
- 감사 추적: 누가 언제 어떤 테스트를 수행했는지 기록한다.
요약
Burp와 SQLmap 연동은 탐지와 검증의 효율을 높인다. 다만 법적 허가, 부하 관리, 결과 검증 절차를 철저히 지켜야 한다. 권한 있는 환경에서 워크플로를 설계하면 반복 가능한 검증과 신뢰도 높은 리포팅을 얻을 수 있다.
참고
도구 옵션과 사용법은 버전별 차이가 있으므로 공식 문서와 업데이트 로그를 확인해 최신 권장 설정을 따르는 것이 안전하다.