Information Security/General Technique
Python Burp Proxy
hackcatml
2020. 2. 12. 21:03
반응형
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 확인
반응형