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,一经查实,立即删除!

相关文章

变量和字符串

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

Windows安全配置加固

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

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

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

使用 Python 爬取网页数据

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

多线程(初级篇)

相关概念进程是指一个内存中运行的应用程序&#xff0c;每个进程都有自己独立的一块内存空间&#xff0c;一个进程中可以启动多个线程。一个进程是一个独立的运行环境&#xff0c;它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环境是一个包含了…

了解ADF生命周期中的ADF绑定

在本文中&#xff0c;我将重点介绍ADF绑定层&#xff0c;并探讨当最初从浏览器请求带有某些数据的ADF页面时&#xff0c;它如何工作。 Oracle ADF提供了自己的JSF生命周期扩展版。 实际上&#xff0c;ADF扩展了标准JSF生命周期实现类&#xff0c;并提供了ADF阶段侦听器&#x…

绕过 WAF:绕过一些 WAF 设备的 Burp 插件

我写了这个插件使用的技术博客文章在这里一会儿回来。如果存在特定标头&#xff0c;许多 WAF 设备可能会被诱骗相信请求来自自身&#xff0c;因此是可信的。绕过方法的基础知识可以在此处的 HP 博客文章中找到。 一段时间以来&#xff0c;我一直在 Burp 中实施匹配/替换规则&…

windows apache部署php,Windows下部署Apache+PHP+MySQL运行环境实战

首先是MySQL&#xff0c;(这边吐槽一下被Oracle收购的MySQL)一步一步往下&#xff0c;无需更多的配置然后安装Apache&#xff0c;也是一步一步往下安装PHP&#xff0c;(我偷懒我自豪, 在PHP下载页面找那个Installer的文件.......吐槽可能不是最新的版本 &#xff5e;)下载页面安…

粉丝提问:有没有人会做彩虹表

彩虹表就是一个庞大的、针对各种可能的字母组合预先计算好的哈希值的集合&#xff0c;不一定是针对MD5算法的&#xff0c;各种算法的都有&#xff0c;有了它可以快速的破解各类密码。越是复杂的密码&#xff0c;需要的彩虹表就越大&#xff0c;现在主流的彩虹表都是100G以上。 …

fofa自动化爬虫脚本更新+详解

fofa自动化爬虫脚本更新详解 起因 最近要用到fofa爬虫&#xff0c;为什么要用爬虫不用api&#xff0c;问就是穷&#xff0c;想起来之前写过一个相关的脚本&#xff1a;Fofa-python-脚本&#xff0c;是很久以前写的了&#xff0c;之前写的时候有点问题&#xff0c;昨天重新修…

【APICloud系列|16】苹果开发者账号如何更改双重认证的手机号

按照一般的更改流程&#xff1a; 现在苹果账号安全系统升级&#xff0c;一般需要同意协议或者和本公司密切相关的人员才能操作。我这种借苹果手机操作的人除外。 那我用win7电脑如何操作呢&#xff1f; 登录苹果开发者账号&#xff0c; 进入如下管理账号地址&#xff1a;htt…

JS文件信息收集工具-LinkFinder

0x00 前言 我们在渗透测试的之前&#xff0c;信息收集是必要的步骤&#xff0c;而JS文件中往往会暴露出很多的信息&#xff0c;比如一些注释的中铭感信息&#xff0c;内网ip地址泄露等等&#xff0c;还会有一些绝对路径或者相对路径的url&#xff0c;而这些url中很有可能就存在…

extjs中Store和grid的刷新问题

问题1&#xff1a;Store.load() 和Store.setproxy()区别 问题2:修改后的Grid 更新&#xff1a; Store.reload() 问题3&#xff0c;store删除后刷新会出问题 Store移除一行&#xff1a;Store.removeAt(Number index) 从数据集中删除指定索引位置的记录     或者Store.reload…

【APICloud系列|28】苹果开发者账号应该如何续费?

本次更新时间:2020/7/13 登录苹果开发者账号,一般还有1个月到期官方会给你发邮件,不懂英文的可以使用谷歌翻译功能。 目前的后台提醒是这样的,我给你翻译一下 这个如果没有到期,使用Apple Developer这个应用程序进行充值缴费。 对应地址:https://developer.apple.com/i…

linux中第一个进程的形成,Linux进程管理

1.进程基本概述定义&#xff1a;进程是已经启动的可执行程序的运行中实例。/proc目录下以数字为名的目录&#xff0c;每一个目录代表一个进程&#xff0c;保留着进程的属性信息&#xff0c;每一个进程的PID是唯一的&#xff0c;就算进程退出了&#xff0c;其他进程也不会占用其…

XX(北京)科技股份公司为啥需要购置服务器?

其实老板只是要一个量化的标准,只是没人能讲明白,我简单陈述一下: 公司现在只有一台阿里的1核两G的1M带宽服务器40G,属于低配,买了3年的,打了三折花了2800元左右,为啥需要额外购置服务器呢? 目前服务器上有,一个后台管理系统,一个小程序,一个APP,一个网站,目前就…

[BZOJ 1588] [HNOI 2002] 营业额统计

1588: [HNOI2002]营业额统计 Time Limit: 5 SecMemory Limit: 162 MBDescription 营业额统计 Tiger最近被公司升任为营业部经理&#xff0c;他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况。 Tiger拿出了公司的账本&#xff0c;账本上记录了公司成立以…

Python----socket编程

socket 一、socket是什么&#xff1f; socket 通常也称为“套接字”&#xff0c;用于描述 IP 地址和端口&#xff0c;是一个通讯链的句柄。应用程序通常通过 “套接字”向网络发出请求或者应答网络请求。说白了&#xff0c;就是一种通讯机制。它类似于公司的电话客服部门&…

怎样编写测试类测试分支_测试技巧–不编写测试

怎样编写测试类测试分支对此没有太多疑问&#xff0c;测试代码的方式是一个有争议的问题。 不同的测试技术由于各种原因&#xff08;包括企业文化&#xff0c;经验和总体心理观点&#xff09;而受到不同开发人员的青睐。 例如&#xff0c;您可能更喜欢编写经典的单元测试&#…

怎么样才算高级java工程师

高级水平&#xff1a; 1.能对需求进行架构设计&#xff0c;选择框架以适应最合适的业务&#xff0c;作为某个项目的领导&#xff0c;带领团队完成项目。 2.有自己的开源项目&#xff0c;可以写出自己的组件&#xff0c;对开源的框架能够进行二次编写&#xff0c;java核心技术有…