xss测试工具(xsstrike基于python)

xsstrike很强 项目地址:

https://github.com/s0md3v/XSStrike

安装:

git clone https://github.com/s0md3v/XSStrike.git

使用文档:

https://github.com/s0md3v/XSStrike/wiki/Usage
usage: xsstrike.py [-h] [-u TARGET] [--data DATA] [-t THREADS] [--seeds SEEDS] [--json] [--path][--fuzzer] [--update] [--timeout] [--params] [--crawl] [--blind][--skip-dom] [--headers] [--proxy] [-d DELAY] [-e ENCODING]optional arguments:-h, --help            show this help message and exit-u, --url             target url--data                post data-f, --file            load payloads from a file-t, --threads         number of threads-l, --level           level of crawling-t, --encode          payload encoding--json                treat post data as json--path                inject payloads in the path--seeds               load urls from a file as seeds--fuzzer              fuzzer--update              update--timeout             timeout--params              find params--crawl               crawl--proxy               use prox(y|ies)--blind               inject blind xss payloads while crawling--skip                skip confirmation dialogue and poc--skip-dom            skip dom checking--headers             add headers-d, --delay           delay between requests

扫描单个URL

选项:-u--url

测试一个使用GET方法的网页。

python xsstrike.py -u "http://example.com/search.php?q=query"

提供POST数据

python xsstrike.py -u "http://example.com/search.php" --data "q=query"

测试URL路径组件

选项: --path

想要将有效负载注入URL路径,例如http://example.com/search/<payload>,您可以使用--pathswitch来实现。

python xsstrike.py -u "http://example.com/search/form/query" --path

将POST数据视为JSON

选项: --json

此开关可用于通过POST方法测试JSON数据。

python xsstrike.py -u "http://example.com/search.php" --data '{"q":"query"} --json'

爬行

选项: --crawl

从目标网页开始搜寻目标并进行测试。

python xsstrike.py -u "http://example.com/page.php" --crawl

爬行深度

选项:-l--level| 默认:2

通过此选项,您可以指定爬网的深度。

python xsstrike.py -u "http://example.com/page.php" --crawl -l 3

测试/搜寻文件中的URL

选项: --seeds

如果要测试文件中的URL,或者只是想添加种子进行爬网,则可以使用该--seeds选项。

python xsstrike.py --seeds urls.txt

要么

python xsstrike.py -u "http://example.com" -l 3 --seeds urls.txt

文件中的蛮力载荷

选项:-f--file

您可以从文件加载有效负载,并检查它们是否有效。XSStrike在此模式下不会执行任何分析。

python3 xsstrike.py -u "http://example.com/page.php?q=query" -f /path/to/file.txt

使用default与负载XSStrike的默认有效载荷文件路径。

查找隐藏的参数

选项: --params

通过解析HTML和暴力破解来查找隐藏的参数。

python xsstrike.py -u "http://example.com/page.php" --params

线程数

选项:-t--threads| 默认:2

可以在爬网时向目标发出并发请求,并且-t可以使用option指定要发出的并发请求数。尽管线程可以帮助加快爬网速度,但它们也可能触发安全机制。大量的线程也可能导致小型网站瘫痪。

python xsstrike.py -u "http://example.com" -t 10 --crawl -l 3

超时

选项:--timeout| 默认:7

在考虑HTTP(S)请求超时之前,可以指定等待的秒数。

python xsstrike.py -u "http://example.com/page.php?q=query" --timeout=4

延迟

选项:-d--delay| 默认:0

可以指定在每个HTTP(S)请求之间保留的秒数。有效值为int,例如1表示秒。

python xsstrike.py -u "http://example.com/page.php?q=query" -d 2

提供HTTP标头

选项: --headers

此选项将打开您的文本编辑器(默认为'nano'),您只需粘贴HTTP标头并按Ctrl + S保存即可。

标头演示

如果您的操作系统不支持此功能,或者您不想这样做,则可以简单地从命令行添加标头,\n并按如下所示分隔: python xsstrike.py -u http://example.com/page.php?q=query --headers "Accept-Language: en-US\nCookie: null"

盲XSS

选项: --blind

在爬网时使用此选项将使XSStrike注入您定义的XSS盲负载,core/config.py以将其注入每个HTML表单的每个参数。

python xsstrike.py -u http://example.com/page.php?q=query --crawl --blind

有效负载编码

选项:-e--encode

XSStrike可以按需编码有效负载。到目前为止,支持以下编码:

  • base64

python xsstrike.py -u "http://example.com/page.php?q=query" -e base64

想要支持编码吗?打开一个问题。

模糊测试

选项: --fuzzer

该模糊器旨在测试过滤器和Web应用程序防火墙。这非常缓慢,因为它会随机发送*延迟请求,并且延迟可能长达30秒。要使延迟最小,请使用-d选项将延迟设置为1秒。

python xsstrike.py -u "http://example.com/search.php?q=query" --fuzzer

记录中

选项:--console-log-level|Default: INFO

可以选择最低日志记录级别以在控制台中显示xsstrike日志: python xsstrike.py -u "http://example.com/search.php?q=query" --console-log-level WARNING

选项:--file-log-level|Default: None

如果指定,xsstrike还将将具有相同日志记录级别或更高日志记录级别的所有日志写入文件: python xsstrike.py -u "http://example.com/search.php?q=query" --console-log-level DEBUG

选项:--log-file|Default: xsstrike.log

将存储日志的文件名。请注意,如果--file-log-level未指定,此选项将无效。 python xsstrike.py -u "http://example.com/search.php?q=query" --file-log-level INFO --log-file output.log

使用代理

选项:--proxy | 默认0.0.0.0:8080

您必须在其中设置代理(y | ies)core/config.py,然后可以使用--proxy开关随时使用它们。
有关设置代理的更多信息,请参见此处。

python xsstrike.py -u "http://example.com/search.php?q=query" --proxy

跳过确认提示

选项: --skip

如果希望XSStrike在找到有效负载的情况下继续扫描,而不询问您是否要继续扫描,则可以使用此选项。它还将跳过POC生成。

python xsstrike.py -u "http://example.com/search.php?q=query" --skip

跳过DOM扫描

选项: --skip-dom

您可能希望在爬网时跳过DOM XSS扫描,以节省时间。

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

更新资料

选项: --update

如果启用此选项,XSStrike将检查更新。如果有更新的版本可用,XSStrike将下载更新并将其合并到当前目录中,而不会覆盖其他文件。

python xsstrike.py --update

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/358700.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Bash脚本教程之函数

目录 简介 参数变量 return 命令 全局变量和局部变量,local 命令 简介 函数(function)是可以重复使用的代码片段,有利于代码的复用。它与别名(alias)的区别是,别名只适合封装简单的单个命令,函数则可以封装复杂的多行命令。 函数总是在当前 Shell 执行,这是跟脚本…

dcc garch matlab,如何用Eviews或者MATLAB实现DCC-garch模型?

可以在软件中查到说明文件&#xff1a;以下为说明文件的内容In the first box, you should either enter the name of your group or specify the returns as separate series (transforming expressions like dlog() are also allowed). If you wish to use exogenous variabl…

二维GROUP BY

上午参加了个计算机英语三级考试&#xff0c;回来后BA同事让帮忙统计数据。可能刚考完试思维比较混乱&#xff0c; 整理了好大一会没有想明白怎么写。 最后挣扎了快一个小时终于想起来&#xff0c;记下来留个备份&#xff1b; select store_no, brand_code, count(distinct t.d…

Spring Integration Jdbc RowMapper示例

JDBC入站通道适配器的基本功能是执行SQL查询&#xff0c;提取数据并将以Message形式封装的结果集传递到本地通道。 您可以在JDBC入站通道适配器的示例中阅读有关此内容的更多信息。 有效负载的类型由行映射策略决定。 默认情况下会产生类型为List的有效负载&#xff0c;其中每…

Bash脚本教程之数组

目录 创建数组 读取数组 读取单个元素 读取所有成员 默认位置 数组的长度 提取数组序号 提取数组成员

php分页上一页下一页判断,分页(上一页,下一页)

实现功能&#xff1a;出现首页&#xff0c;下一页&#xff0c;上一页&#xff0c;尾页$pagesize2;//分页&#xff0c;已知每页显示几条记录&#xff0c;$pagesize//我们通过在地址栏传递page参数的形式获得当前是第几页&#xff0c;&#xff1f;page1就是第一页&#xff0c;&am…

变量和字符串

变量名就像我们现实社会的名字&#xff0c;把一个值赋值给一个名字时&#xff0c;Ta会存储在内存中&#xff0c;称之为变量&#xff08;variable)&#xff0c;在大多数语言中&#xff0c;都把这种动作称为&#xff08;给变量赋值&#xff09;或&#xff08;把值存储在变量中&am…

Windows安全配置加固

安全配置加固——账号口令 账号优化 目的是为了梳理系统中的账号以及口令&#xff0c;避免默认账号及弱口令的存在 查看账号方式 在Windows中查看账号的方式有以下几种&#xff0c;这里就来简述一下 第一种&#xff1a;开始->运行->compmgmt.msc&#xff08;进入计算…

Bash脚本教程之set命令

目录 简介 set -u set -x Bash 的错误处理 set -e set -o pipefail 其他参数 set 命令总结 shopt 命令 set命令是 Bash 脚本的重要环节,却常常被忽视,导致

php游客随机代码,php生成随机码的一段代码

/** 说明&#xff1a;生成随机码&#xff0c;并用图形方式显示随机码。*/$ViewRandomCode mt_rand(1000,10000);session_start();$_SESSION[checksum] $ViewRandomCode;function set_4pixel($r, $g, $b, $x, $y){global $sx, $sy, $pixels;$ofs 3 * ($sx * $y $x);$pixels[…

刚刚接触的LINQ

科普一下&#xff1a; 语言集成查询&#xff08;Language INtegrated Query&#xff0c;LINQ&#xff09; 是一项微软技术&#xff0c;新增一种自然查询的SQL语法到.NET Framework的编程语言中&#xff0c;可支持Visual Basic .NET以及C#语言。 LINQ定义了大约40个查询操作符&a…

解决Pycharm窗口一闪而过的问题

前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。 PS&#xff1a;如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资料以及群交流解答点击即可加入

存根类 测试代码 java_常规单元测试和存根–测​​试技术4

存根类 测试代码 java我的上一个博客是有关测试代码的方法以及讨论您做什么和不必进行测试的方法的一系列博客中的第三篇。 它基于我使用一种非常常见的模式从数据库检索地址的简单方案&#xff1a; …并且我提出了这样的想法&#xff0c;即任何不包含任何逻辑的类实际上都不需…

Bash脚本教程之脚本除错

目录 常见错误 bash的-x参数 环境变量 LINENO FUNCNAME BASH_SOURCE BASH_LINENO 常见错误 编写 Shell 脚本的时候,一定要考虑到命令失败的情况,否则很容易出错。 #! /bin/bashdir_name=/path/not/existcd $dir_name rm * 上面脚本中,如果目录

config.class.php,Config.class.php

defined(IN_MY_PHP) || die(0);/*** 配置文件&#xff0c;内容如下* return [* jfzt>[* // 方式一(推荐)* [val>0, label>xxx0, style>txt-danger],* [val>1, label>xxx1, style>txt-success],* // 方式二(简化&#xff0c;不支持样式)* 0>xxx0,* 1>…

Python学习手册

目录 基础语法 模块的使用 Python案例 基础语法 PyCharm调试程序python手动安装依赖包python中让输出不换行Python中的输入(input)和输出打印python中实现打印特定字符变换Python中的变量和数据类型Python中的列表ListPython中的字典dictPython中数据的排序Python中数据类型的转…

Bash脚本教程之mktemp 命令,trap 命令

目录 临时文件的安全问题 mktemp 命令的用法 mktemp 命令的参数 trap 命令 Bash 脚本有时需要创建临时文件或临时目录。常见的做法是,在/tmp目录里面创建文件或目录,这样做有很多弊端,使用mktemp命令是最安全的做法。 临时文件的安全问题 直接创建临时文件,尤其在/tm…

ubuntu vim php配置文件在哪,ubuntu vim的配置文件在哪

当我们使用Vim时, 你需要知道一系列的配置文件. 这些配置文件的位置依赖于Vim的安装位置和你所使用的操作系统.通常, 有三个配置文件, 你是必须知道在哪里能找到的.vimrc这是Vim最主要的配置文件. 它有两个版本, 全局版本(global)和用户版本(personal)).全局vimrc文件放在你安装…

使用 Python 爬取网页数据

在需要过去一些网页上的信息的时候&#xff0c;使用 Python 写爬虫来爬取十分方便。 1. 使用 urllib.request 获取网页 urllib 是 Python 內建的 HTTP 库, 使用 urllib 可以只需要很简单的步骤就能高效采集数据; 配合 Beautiful 等 HTML 解析库, 可以编写出用于采集网络数据的…

Bash脚本教程之启动环境

目录 Session 登录 Session 非登录 Session .bash_logout 启动选项 键盘绑定 Session 用户每次使用 Shell,都会开启一个与 Shell 的 Session(对话)。 Session 有两种类型:登录 Session 和非登录 Session,也可以叫做 login shell 和 non-login shell。 登录 Session…