python xss检测脚本

1050 2
晓凤科技实名认证 2022-4-2 10:17:51 来自手机 | 显示全部楼层 |阅读模式
import requests

payload = []
f = open('payload.txt', 'r')
for line in f:
    payload.append(line.strip())

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0",
    "Cookie": "security=high; PHPSESSID=b171pc6qicumo686s83fqfe6t5"
}


class spider():
    def __init__(self):
        self._url = ""

    def run(self, url):
        urls = urlsplit(url)
        if urls is None:
            return False
        print("\r[+] XSS Scaning......")
        for _urlp in urls:
            for _payload in payload:
                _url = _urlp.replace("payload", _payload)
                # urlt = url
                # self._url = _url
                r = requests.get(_url, headers=headers, timeout=5)
                # 如果无法正常访问返回空
                if r.status_code != 200:
                    break
                res = r.text
                if res is None:
                    return False
                # 如果页面返回内容中有payload则发现XSS
                if (res.find(_payload) != -1):
                    print("[*] XSS Found: ", _url)

        return False


# 将url拆分,并将后面参数与payload单独替换,之后查看页面反应
def urlsplit(url):
    domain = url.split("?")[0]
    # print(domain)
    _url = url.split("?")[-1]
    # print(_url)
    param = {}
    for val in _url.split("&"):
        param[val.split('=')[0]] = val.split('=')[-1]
    urls = []
    for val in param.values():
        new_url = domain + '?' + _url.replace(val, 'payload')
        urls.append(new_url)
    return urls


def main():
    url = 'http://127.0.0.1/i/DVWA-master/vulnerabilities/xss_r/?name=123&pwd=456'
    #url = input("请输入url: ")
    spi = spider()
    spi.run(url)


if __name__ == '__main__':
    main()

悲年-王鹏博 2022-4-9 10:29:06 | 显示全部楼层
我咋没有呢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

晓凤科技

初级红客

关注
  • 31
    主题
  • 11
    粉丝
  • 0
    关注
我是胡锦程,中国晓凤网络安全的创始人,会python等编程语言,懂得kali linux的使用,我时刻准备着,为中国网络安全事业作出贡献。

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行