我有一个网站,网址为:https://abs:8443/myweb
我将burp套件用作本地代理:

proxyIP = "127.0.0.1"
proxyPort = 8080


然后,我尝试通过burp将https流量代理到https网站,但失败了。这是我尝试过的:

import sys
import socket
import ssl
import os

url = "https://abs:8443/myweb"
proxyIP = "127.0.0.1"
proxyPort = 8080
targetIP = "abs"
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s_sock = context.wrap_socket(sock, server_hostname=targetIP)
s_sock.connect((proxyIP, proxyPort))

data = "some data"

payload = (
    "POST "+url+" HTTP/1.1\r\n"
    "Host: "+targetIP+":8443\r\n"
    "User-Agent: Mozilla/5.0 (X11; Linux i686; rv:52.0) Gecko/20100101 Firefox/52.0\r\n"
    "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n"
    "Accept-Language: en-US,en;q=0.5\r\n"
    "Accept-Encoding: gzip, deflate\r\n"
    "Content-Type: application/x-www-form-urlencoded\r\n"
    "Content-Length: "+str(len(data))+"\r\n"
    "\r\n" + data + "\r\n"
)

sock.sendall(payload)
recv = sock.recv(64000)
sock.close()
print recv


如何使用burp套件代理HTTPS流量?

最佳答案

您将需要一个普通的侦听器,例如127.0.0.1:8080-然后,您将必须安装burp CA证书,以便代理侦听器能够协商SSL连接。

PortSwigger已为此编写了书面文档:


https://portswigger.net/burp/documentation/desktop/tools/proxy/options/installing-ca-certificate
https://support.portswigger.net/customer/portal/articles/1783075-installing-burp-s-ca-certificate-in-your-browser

08-05 00:46