반응형

python requests 모듈 사용시 다음과 같은 코드를 삽입하여 요청 응답 패킷을 버프로 캡쳐가능

import os
proxy = '127.0.0.1:8080'
#환경 변수 설정
os.environ['HTTP_PROXY'] = proxy
os.environ['HTTPS_PROXY'] = proxy
os.environ['REQUESTS_CA_BUNDLE'] = "C:\\Users\\hackcatml\\Desktop\\burpSuite\\cacert.pem" #인증서 위치

 

사전에 .pem 포맷의 버프 인증서가 필요함

burp에서 인증서 export하게 되면 .der 포맷임

cmd에서 다음 명령어로 .pem포맷 인증서로 변경

openssl x509 -inform der -in cacert.der -out cacert.pem 

 

다음 예제는, https://webhacking.kr에 requests모듈을 이용하여 GET, POST 전송하되 버프 프록시를 거쳐가게 하는 코드(문제풀이와는 무관)

import requests
import os
from bs4 import BeautifulSoup

proxy = '127.0.0.1:8080'
#환경 변수 설정
os.environ['HTTP_PROXY'] = proxy
os.environ['HTTPS_PROXY'] = proxy
os.environ['REQUESTS_CA_BUNDLE'] = "C:\\Users\\hackcatml\\Desktop\\burpSuite\\cacert.pem" #인증서 위치

url = 'https://webhacking.kr/challenge/code-4/'	# https 사이트
id = 'admin'
cmt = 'love'

res = requests.get(url)
parse = BeautifulSoup(res.content, 'html.parser')
captcha = parse.find('input', {'name': 'captcha_'}).get('value')

payload = f'id={id}&cmt={cmt}&captcha={captcha}'
custom_header = {'Cookie': 'PHPSESSID=04agjetkpqrhbvgijmctrfa8c3;'}

res = requests.post(url, data = payload, headers = custom_header)

 

실행하고 BurpSuite에서 HTTP history 확인

반응형

+ Recent posts