XSS攻击(4), XSS扫描工具

XSSTrike 与 Burp Suite 扫描 XSS 漏洞

一, XSSTrike

1. 安装
下载: https://github.com/s0md3v/XSStrike/releases
安装依赖: pip install tld, fuzzywuzzy, requests

官方文档: https://github.com/s0md3v/XSStrike/wiki/Usage#scan-a-single-url

2. 使用
测试get请求

Option: -u or --url
python .\xsstrike.py -u “http://192.168.112.200/security/testxss.php?content=test”

[~] Checking for DOM vulnerabilities
[+] WAF Status: Offline
[!] Testing parameter: content
[!] Reflections found: 1
[~] Analysing reflections
[~] Generating payloads
[!] Payloads generated: 3072
------------------------------------------------------------
[+] Payload: <d3V%09oNmOusEoVER%0a=%0a(confirm)()>v3dm0s
[!] Efficiency: 100
[!] Confidence: 10
[?] Would you like to continue scanning? [y/N]
"Checking for DOM vulnerabilities": "正在检查DOM漏洞",    
"WAF Status: Offline": "WAF状态: 离线",    
"Testing parameter: content": "测试参数: content",    
"Reflections found: 1": "找到的反射: 1",    
"Analysing reflections": "正在分析反射",    
"Generating payloads": "正在生成有效负载",    
"Payloads generated: 3072": "生成的有效负载数量: 3072",    
"------------------------------------------------------------"  
"[+] Payload: <d3V%09oNmOusEoVER%0a=%0a(confirm)()>v3dm0s": 
"[+] 有效负载: <d3V%09oNmOusEoVER%0a=%0a(confirm)()>v3dm0s",    
"[!] Efficiency: 100": "[!] 效率: 100",    
"[!] Confidence: 10": "[!] 置信度: 10",    
"[?] Would you like to continue scanning? [y/N]": "[?] 您是否想继续扫描? [y/N]"  }

这里Payload给出了有效的负载, 我们可以手动复制到url中进行测试:

http://192.168.112.200/security/testxss.php?content=<d3V%09oNmOusEoVER%0a=%0a(confirm)()>v3dm0s

当鼠标移动到 v3dm0s 上面时触发事件.

测试post请求
Option: --data
python xsstrike.py -u "http://example.com/search.php" --data "content=test"
发送json
Option: --json
python xsstrike.py -u "http://example.com/search.php" --data '{"content":"test"}' --json
探测url路径参数

当没有明确的参数时, 不确定问号后面是content=test参数, 可以试试url路径探测.

Option: --path
python xsstrike.py -u "http://example.com/search/form/query" --path
爬虫扫描漏洞 (不仅限于XSS漏洞)
Option: --crawl
python xsstrike.py -u "http://example.com/page.php" --crawl
批量测试文件中的url
Option: --seeds
python xsstrike.py --seeds urls.txt
探测url的隐藏参数
Option: --params           
python .\xsstrike.py -u "http://example.com/search.php" --params
模糊测试器

模糊测试器(fuzzer)被设计用来测试过滤器和Web应用防火墙。它之所以运行缓慢,是因为它会发送随机延迟的请求,延迟时间可以长达30秒。
为了减少延迟,可以通过使用-d选项将延迟设置为1秒。

Option: --fuzzer
python xsstrike.py -u "http://example.com/search.php?q=query" --fuzzer
python xsstrike.py -u "http://example.com/search.php?q=query" --fuzzer -d 1
跳过DOM扫描

你可能想要在爬行时跳过DOM(文档对象模型)XSS(跨站脚本攻击)扫描,以节省时间

Option: --skip-dom
python xsstrike.py -u "http://example.com/search.php?q=query" --skip-dom
使用代理

你需要在core/config.py中设置你的代理(proxies)然后你就可以在任何时候使用–proxy开关来使用它们。
core/config.py

More information on adding proxies: http://docs.python-requests.org/en/master/user/advanced/#proxies
proxies = {'http': 'http://0.0.0.0:8080', 'https': 'http://0.0.0.0:8080'}
Option: --proxy | Default 0.0.0.0:8080
python xsstrike.py -u "http://example.com/search.php?q=query" --proxy

二, Burp Suite

1. 从Proxy面板捕获请求开始创建扫描任务
1.1 捕获请求

用浏览器向目标发送请求, 配置好的BurpSuit默认自动截取请求.
打开Proxy界面, 点击Forward, 放行所有请求.

1.2 普通扫描

请求完成后, 打开Target界面.
左侧显示自动爬取出的url路径目录.
在左侧目录树中找到需要扫描的路径, 比如testxss.php, 右键选择scan打开扫描配置窗口.
如果没有发现想要扫描的目标, 可以重新对上一级目录发送请求, 再查看目录树.

三种扫描:

crawl and audit         爬虫和审计
crawl                   爬虫
audit selected items    审计

如果前面已经扫描出了目录树, 则选择第三种.
在下面的列表中选择需要测试的url, 右下角Consolidate items 可以设置需要过滤的文件类型, 比如 js,gif,jpg,png,css 等.
点击OK, 自动关闭扫描配置窗口.
回到了Target界面, 在右侧Issues可以看到扫描报告.

1.3 扫描报告

上方窗口显示扫描到的各种风险条目.

风险程度:

红色: 高风险
蓝色: 低风险
灰色: 具体信息

下方窗口显示具体的报告, 在上方窗口中选择任意一条风险信息后, 下方三个窗口显示具体的内容:

 Advisory:	风险报告  
 Request:	请求信息
 Response: 	响应信息
1.4 自动扫描

在左侧目录树中找到需要扫描的路径, 比如testxss.php,
右键选择Actively scan this branch 主动扫描, 那么只要访问这个页面就会自动扫描并显示报告.

1.5 全站扫描

在左侧目录树中右键点击站点, 比如http://192.168.112.200,
右键选择Actively scan this branch 自动扫描全站并给出报告.
注意: 全站扫描可能会耗费大量cpu资源.

1.6 停止扫描

当自动扫描进行时, 比如全站扫描, 需要手动关闭扫描情况.
打开 Dashboard 面板, 点击最上面的 Task 后面的暂停按钮即可.

2. 从Dashboard面板直接创建扫描任务

2.1. 打开Dashboard面板, 点击最上方的New scan按钮, 打开扫描配置窗口.
2.2. 在下方 URLs to Scan 列表中添加目标url.
2.3. 左侧Scan configuration 设置爬虫和审计的配置, 包括爬虫深度, 审计的类型和速度等等.
Application login 设置需要登录的用户名和密码.
2.4. 在Dashboard面板点击开始按钮开启任务, 左侧显示任务相关的Log, 右侧显示扫描报告.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值