一个简单的XSS检测工具

该博客介绍了如何使用一个简单的XSS检测工具,通过发送随机flag确定参数回显、回显位置,以及利用HTML和JS语法解析进行payload探测。在获取域名后,通过深度检索和数据清洗获取有效页面,并使用BeautifulSoup进行HTML分析。检测参数时,先检查URL参数,再分析form标签内的参数。博客提到检测工具准确率较高,但仅作初步检测,仍需人工确认。
摘要由CSDN通过智能技术生成

检测的主要流程:
发送随机flag -> 确定参数回显 -> 确定回显位置以及情况(html,js语法解析)
-> 根据情况根据不同payload探测 -> 使用html,js语法解析确定是否多出来了标签,属性,js语句等等。

在拿到一个域名后开始深度检索存在的所有链接(href,src),在经过数据清洗后得到有用的页面(去除js等其他目录)

def SearchDir(TestUrl):
    header = {
   
        'User-Agent':
            'Mozilla / 5.0(Windows NT 10.0; Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 73.0.3683.75Safari / 537.36'
    }
    html = requests.get(TestUrl,header)
    print(html.text)
    _html = BeautifulSoup(html.text,'lxml')
    href_all = re.findall(r"href=\".+?\"", str(_html))
    src_all = re.findall(r"src=\".+?\"", str(_html))
    NoNeedDir = ['.js','.css','.jpg','.png','javascript','.gif','.bmp']
    for i in href_all:
        #判断是否为同一域名
        flag_http = 0
        if 'http://' in i :
            if TestUrl in i:
                flag_http=1
            else:
                continue
        i = i.replace('href=','')
        i = i.replace('"',"")
        flag = 0
        for p in NoNeedDir:
            if  p in i:
                flag=1
                break
        if flag==0:
            if flag_http == 1:
                if i in urlList:
                    continue
                urlList.append(i)
            else:
                url = TestUrl + i
                if url in urlList:
                    continue
                urlList.append(url)
    for i in src_all:
        flag_http = 0
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值