【转帖】一款优秀的XSS批量检测工具

一款优秀的XSS批量检测工具

https://www.freebuf.com/sectool/223009.html

必须学习胶水语言才可以啊

至少学会代码的编写与使用。 

0×01 简介

NoXss是一个供web安全工程师批量检测xss隐患的脚本工具。其主要用于批量检测,比如甲方内部安全巡检,人工分析千万级的url资产是不现实的,NoXss使用多进程+协程的方式,支持高并发,可以出色的完成这一任务。NoXss从实用主义出发,小巧精致,不如其他扫描器拥有各式各样的高级功能(比如绕过waf、存储型xss等),深入挖掘xss这里首推XSStrike,但在批量检测方面,NoXss是一个不错的选择。

项目地址:https://github.com/lwzSoviet/NoXss

0×02 工作原理

NoXss主要是通过“符号闭合”来检测xss隐患,使用基于“反射位置”的payload进行探测(目前一共8个),相比fuzz减少了很多盲目性。比如当请求参数的值出现在response的javascript代码段中,并且是以双引号的形式进行闭合,那么NoXss将使用xssjs”;这个payload;如果是以单引号的形式进行闭合,则会使用xssjs’;进行测试。更多的位置分类以及payload请参考https://github.com/lwzSoviet/NoXss/blob/master/README.md

0×03 优势

1.支持DOM类型的xss

NoXss支持使用Chrome(推荐)和Phantomjs(默认)两种浏览器来对抗DOM类型的xss,同样支持多进程,即可以多个浏览器同时工作,但浏览器的资源占用通常是较高的,使用–browser选项意味着更慢的扫描速度、更高的CPU&内存占用。

2.多进程+协程支持高并发

#指定进程数

python start.py --url url --process 8

#指定协程并发数

python start.py --url url --coroutine/-c 300

漏扫的时间消耗主要集中在网络IO,NoXss支持用户自己配置进程数与协程数,需要注意的是协程并发数需要结合网络情况而定,如果配置的过高,可能出现过多的网络阻塞,导致无法检出xss。

3.使用基于位置的payload

Fuzz技术通常带有很大的盲目性,对于批量检测并不适合。NoXss目前确定使用的payload一共只有8个,全部基于参数反射的位置,更少的payload意味着更少的测试用例、更快的扫描速度。

4.接口维度的去重

对于批量检测而言,去重是一项重要的工作。除了去除各种静态资源,NoXss还会以接口为维度对url进行去重,接口由域名、端口、路径、参数键值对等多个因素共同决定。在这个过程中,对于一些相似的属性,NoXss还会对其进行泛化。

5.与Burpsuite协同工作

NoXss支持将Burpsuite的流量导出进行扫描:

对于渗透测试人员来说,这是一个较为友好的功能。但请不要对NoXss抱有太多的期望,它对较为复杂的xss(比如存储型)无能为力。

6.支持配置Cookie、Referer等请求头

在批量检测的过程中通常需要维持登录态,一些应用的后端还会校验Referer甚至其他的一些自定义的HTTP请求头部,NoXss支持用户对此进行配置:

python start.py --url url --cookie cookie

默认情况下,NoXss会根据当前扫描的url自动添加Referer头部。

7.辅助人工分析

NoXss会将扫描过程中的流量保存到traffic目录下,除此之外还有参数反射结果(.reflect)、跳转请求(.redirect)、网络等错误(.error)都将保存在traffic目录下。在扫描结束后,安全工作者可以很方便地利用这些“中间文件”进行分析。

0×04 安装及使用

NoXss基于python2,主要用于批量检测,Centos安装如下:

yum install flex bison phantomjs

pip install -r requirements.txt

Ubuntu:

apt-get install flex bison phantomjs

pip install -r requirements.txt

其它平台安装参考:https://github.com/lwzSoviet/NoXss/tree/master#install

如果你希望使用Chrome作为检测使用的浏览器,还需手动安装Chrome、下载对应的驱动并设置环境变量,可以使用

python start.py --check

来检查浏览器是否安装正确。

批量检测:

python start.py --file ./url.txt --save

检测单个url:

python start.py --url url

使用浏览器:

python start.py --url url --browser=chrome

扫描Burpsuite流量:

python start.py --burp ./test.xml

更多使用方式参考:https://github.com/lwzSoviet/NoXss/tree/master#usage

0×05 总结

就漏洞本身而言,适合扫描的漏洞种类并不多,安全问题更多地还是需要人工去挖。但对于一些简单的漏洞,借助工具可以节省人力成本,如果每天有数千万的url需要你测试,交给NoXss定时任务或许是个不错的选择,最后由衷地感谢工具作者。

*本文作者:帕克飞走了,转载请注明来自FreeBuf.COM

原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/12181879.html

时间: 2024-08-02 21:49:45

【转帖】一款优秀的XSS批量检测工具的相关文章

python3调用exe程序编写cve20190708批量检测工具

1.python3调用exe程序编写cve20190708批量检测工具 工具下载地址: https://www.qianxin.com/other/CVE-2019-0708 由于这个exe程序只是单IP扫描版本,于是使用python3修改为批量扫描脚本版本 #!/usr/bin/python3 #-*- coding:utf-8 -*- #编写环境 windows 7 x64 Notepad++ + Python3.5.0 import os import sys def main(): #需

推荐五款优秀的PHP代码重构工具

在软件工程学里,重构代码一词通常是指在不改变代码的外部行为情况下而修改源代码.软件重构需要借助工具完成,而重构工具能够修改代码同时修改所有引用该代码的地方.本文收集了五款出色的PHP代码重构工具,以帮助你完善更加优秀的项目. 1. Rephactor Rephactor是一款命令行重构工具,这是一款自动化工具,允许开发者以一种简洁的方式在不同的代码库中修改源码. 主要功能: 保证重构的可逆性—— 一旦发现问题,代码是可逆的,可以回溯到前一个版本. 查找替换功能—— 普通查找替换,方法重命名,类重

[转帖]22款让Kubernetes锦上添花的开源工具

22款让Kubernetes锦上添花的开源工具 http://soft.zhiding.cn/software_zone/2019/0506/3117650.shtml 找时间尝试一下. 至顶网软件频道消息: Kubernetes已经成为大规模部署容器化应用的一个标准方式.但是,如果Kubernetes能帮助我们驯服庞大而复杂的容器部署,那么有什么能帮助我们去驯服Kubernetes呢?Kubernetes也是很复杂.很混乱且难以管理的. 在Kubernetes发展的过程中,一些难题可能会从内部

Bash漏洞批量检测工具与修复方案

<img src="http://image.3001.net/images/20140928/14118931103311.jpg!small" title="shellshock-bug-bash-bashbug-938x535.jpg"/></strong></span>&a

推荐一款优秀的web自动化测工具

在业务使用的自动化测试工具很多.有开源的,有商业化的,各有各得特色,各有各得优点!下面我就介绍几个我用过的一款非常优秀的国产自动化测试工具.在现有的自动化软件当中,都是以元素的name.id.xpath.class.tag.link.partial_link.partial_link中的一种作为对元素进行定位.现在现实的测试环境经常不是我们想象的那样平静.页面中出现id,name,tag 重复的很多.也许在我们写用例的不重复,经过一轮版本修改后很可能变得重复了.xpath是最不可能失效的,但是经

YSLOW(一款实用的网站性能检测工具)

 概述 YSlow是Yahoo发布的一款基于FireFox的插件,这个插件可以分析网站的页面,并告诉你为了提高网站性能,如何基于某些规则而进行优化.  安装  官网:http://yslow.org/ 官方下载,点击安装,Google在扩展程序中直接拖进也可以,安装成功后会在右上角显示图标  YSLOW有什么作用? YSlow可以对网站的页面进行分析,并告诉你为了提高网站性能,如何基于某些规则而进行优化. YSlow可以分析任何网站,并为每一个规则产生一个整体报告,如果页面可以进行优化,则YSl

微软3389远程漏洞CVE-2019-0708批量检测工具

0x001 Win下检测 https://github.com/robertdavidgraham/rdpscan C:\Users\K8team\Desktop\rdpscan-master\vs10\Release 的目录 2019/06/02 02:11 <DIR> . 2019/06/02 02:11 <DIR> .. 2019/06/02 01:55 2,582,016 libcrypto-1_1.dll 2019/06/02 01:57 619,520 libssl-1

如何设计一款优秀的短视频 SDK

2017 年,短视频成为了内容创业的新风口,各种短视频 App 如雨后春笋般先后上线,随着互联网内容消费升级,视频越来越像文字.图片一样,成为每一个 App 不可或缺的一部分. 为了能够更好地聚焦于业务,早日完成短视频 APP 的上线,越来越多的公司倾向于选择一家靠谱的短视频 SDK 来起步,怎么定义靠谱?要关注哪些指标?仅功能满足就可以了吗? -- 显然不够,下面我们看看,如何才能设计一款优秀的短视频 SDK ? 1. 包体一定要尽可能小 在移动互联网时代,App 的包体大小,对获取用户有着至

15款优秀移动APP产品原型设计工具

一款优秀的移动APP产品原型设计工具应该具备: ①.支持移动端演示(随时随地演示给BOSS,厕所&食堂&电梯-以体现我是那么的敬业--长点工资必备) ②.组件库(高效复用,谁用谁知道) ③.可以快速生成全局流程(程序猿看不懂拆解的,给丫的看这个) ④.在线协作(多个PM狗一起用) ⑤.手势操作.转场动画.交互特效-(这些都不需要,留给专业的交互.视觉,搞那么虚的不如多想想产品流程逻辑做做减法.写写xxRD啥的) 这些年,产品狗们折腾过的原型工具: 1. POP(Prototyping on