无法使用 Mitmproxy 拦截请求:收到“502 Bad Gateway”错误

问题描述 投票:0回答:1

我目前正在网站上进行渗透测试,并尝试使用 Mitmproxy 拦截请求以对后端 API 进行逆向工程。但是,我在尝试拦截请求时遇到“502 Bad Gateway”错误。

信息如下:

Status 502 Bad Gateway
Version HTTP/2
Transferred 267 B (170 B size)
Referrer Policy strict-origin-when-cross-origin
Request Priority Highest
    
Request Headers:
content-type    text/html
server  mitmproxy 10.2.2
X-Firefox-Spdy  h2
    
Response Headers:
Accept  application/json, text/plain, */*
Accept-Encoding gzip, deflate, br
Accept-Language en-US,en;q=0.5
Connection  keep-alive
Content-Length  227
Content-Type application/json
Host -----------
Origin  https://-------
Referer https://-------/--/---
Sec-Fetch-Dest  empty
Sec-Fetch-Mode  cors
Sec-Fetch-Site  same-origin
TE  trailers
User-Agent  Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0

附加错误消息:“证书验证失败:自签名证书”

错误消息:“502 网关错误” 我在“Kali Linux”上使用 Mitmproxy 版本“10.2.2”。 我已确保服务器正在运行且可访问。

我尝试通过删除导入的 CA 证书并将其重新导入 Firefox 来解决证书验证问题。

此外,我还解决了之前遇到的 CORS 问题。

我尝试通过检查服务器日志并验证配置来解决问题,但无法确定问题的根本原因。

任何有关如何解决此问题的见解或建议将不胜感激。谢谢!

reverse-engineering web-api-testing mitmproxy penetration-testing
1个回答
0
投票

错误

Certificate verify failed: self-signed certificate
表示被测服务器使用了mitmproxy不信任的证书。 因此 mitmproxy 拒绝连接到服务器,并在客户端生成“502 Bad Gateway”响应。

您可以通过

ssl_verify_upstream_trusted_ca
option 向 mitmproxy 提供根 ca 证书。创建一个 PEM 文件
my-ca-certificates.pem
文件,其中包含 PEM 格式的已使用证书。在该文件中,您可以放置多个 PEM 编码的证书,只需将它们连接在一起即可。然后启动mitmproxy:

mitmproxy --set ssl_verify_upstream_trusted_ca=my-ca-certificates.pem

请注意,使用此命令仅信任

my-ca-certificates.pem
中的证书。这意味着
my-ca-certificates.pem
中的证书替换了根CA证书,它们不被另外考虑。

或者,您可以通过设置

ssl_insecure
选项来禁用上游服务器到服务器的 TLS 证书检查:

mitmproxy --set ssl_insecure=True
© www.soinside.com 2019 - 2024. All rights reserved.