Как проксировать HTTPS-трафик с помощью пакета burp?

У меня есть веб-сайт, который доступен по адресу: https://abs:8443/myweb Я использую пакет burp в качестве локального прокси:

proxyIP = "127.0.0.1"
proxyPort = 8080

Затем я попытался проксировать https-трафик через burp на 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

Как проксировать HTTPS-трафик с помощью пакета burp?

Чтобы проксировать HTTPS-трафик, вам сначала нужно отправить запрос CONNECT на прокси-сервер, а затем инициировать SSL-туннель. Вместо того, чтобы иметь дело с этим сырым, вам, вероятно, лучше использовать библиотеку HTTP, например запросы, которые обрабатывают это для вас.

PortSwigger 06.03.2019 15:03

Не могли бы вы дать полный ответ?

confile 06.03.2019 15:32
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
2
1 626
1

Ответы 1

Вам понадобится обычный прослушиватель, такой как 127.0.0.1:8080. Затем вам нужно будет установить сертификат CA burp, чтобы прослушиватель прокси мог согласовывать соединения SSL.

У PortSwigger есть письменная документация для этого:

Другие вопросы по теме