简体   繁体   English

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

[英]How to proxy HTTPS traffic with burp suite?

I have a website which is available at: https://abs:8443/myweb I use burp suite as a local proxy: 我有一个网站,网址为: https:// abs:8443 / myweb我使用burp套件作为本地代理:

proxyIP = "127.0.0.1"
proxyPort = 8080

Then I tried to proxy the https trafic via burp to the https website but it failed. 然后,我尝试通过burp将https流量代理到https网站,但失败了。 Here is what I tried: 这是我尝试过的:

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

How to proxy HTTPS traffic with burp suite? 如何使用burp套件代理HTTPS流量?

You will need a normal listener, such as 127.0.0.1:8080 - Then you will have to install the burp CA certificate in order for the proxy listener to be able to negotiate SSL connections. 您将需要一个普通的侦听器,例如127.0.0.1:8080-然后,您将必须安装burp CA证书,以便代理侦听器能够协商SSL连接。

PortSwigger have written documentation for this: PortSwigger已为此编写了书面文档:

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM