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

news/2024/10/23 18:33:52/

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, 右侧显示扫描报告.


http://www.ppmy.cn/news/1172427.html

相关文章

【Android知识笔记】Webview专题

WebView 核心组件 类名作用常用方法WebView创建对象加载URL生命周期管理状态管理loadUrl():加载网页 goBack():后退WebSettings配置&管理 WebView缓存:setCacheMode() 与JS交互:setJavaScriptEnabled()WebViewClient处理各种通知&请求事件should

Redis底层核心数据结构详解

文章目录 一、深入String&#xff08;SDS&#xff09;1. 字符串简介2. SDS存在的意义3. SDS结构设计4. SDS与C字符串的区别4.1 常数复杂度获取字符串长度4.2 杜绝缓冲区溢出4.3 二进制安全4.4 SDS API 5 小结 二、深入List (QuickList)1. 链表节点结构设计2. Redis的链表实现的…

软件测试( 基础篇)

前言 从这篇博文开始&#xff0c;我们将作为一名刚刚加入测试团队的菜鸟&#xff0c;开始一次测试之旅。 在这里我们将讨论以下问题&#xff1a; 软件测试的生命周期 如何描述一个bug 如何定义bug的级别 bug的生命周期 产生争执怎么办 软件测试的生命周期 先回顾一个点&#…

axios get请求不能通过body 数据json数据

axios get请求不能通过 body 传递数据&#xff0c;只能用query的方式&#xff0c;post请求传递参数用的是data这个字段&#xff0c;但是看官方文档 Request Config | Axios Docs

Apache Doris (四十六): Doris数据更新与删除 - 批量删除

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录

Python 测试框架unittest和pytest的优劣

一、Unittest Unittest是Python标准库中自带的单元测试框架&#xff0c;Unittest有时候也被称为PyUnit&#xff0c;就像JUnit是Java语言的标准单元测试框架一样&#xff0c;Unittest则是Python语言的标准单元测试框架。 Unittest支持自动化测试&#xff0c;测试用例的初始化、…

javaEE -6(10000详解文件操作)

一&#xff1a;认识文件 我们先来认识狭义上的文件(file)。针对硬盘这种持久化存储的I/O设备&#xff0c;当我们想要进行数据保存时&#xff0c;往往不是保存成一个整体&#xff0c;而是独立成一个个的单位进行保存&#xff0c;这个独立的单位就被抽象成文件的概念&#xff0c…

灯光照明设备经营小程序商城的作用是什么

灯光照明无线上平台&#xff0c;首先就缺少了线上引流及销售的渠道&#xff0c;而入驻第三方平台&#xff0c;虽然可以享受平台的流量&#xff0c;但流量却并不是免费的&#xff0c;高昂的佣金抽成及管理限制&#xff0c;不利于用户管理及营销&#xff0c;打造自有流量池及传播…