基于Chorme headless XSS检测

  • A+
所属分类:网络安全文章

起因:

扫描器不能满足需求,phantomjs不支持html5标签。所以自己查阅资料和api,写了一个基于chrome headless xss扫描插件。

总体思路来自于:

fridayy的基于phantomjs的xss扫描

以及猪猪侠的web2.0启发式爬虫实战

基于Chorme headless XSS检测

判断xss的方法为:

1、 监听页面的弹窗事件

2、 查看dom中的localName是否有存在我们自定义的标签

3、 查看dom中的nodeValue 是否含有我们输入的payload

将其分为三个等级,分别为level 3 level 2 level 1 分别对应这xss的精确程度(由高到低)

了解chrome_headless

初步了解,你可以通过它来做很多事情,但是这里不讨论其他功能,只着眼于xss的判断。

总体来说,headless chrome意思是无头chrome浏览器,相对于传统的chrome浏览器,这是一个可以在后台用命令行操作浏览器的工具,对于爬虫编写以及web自动化测试都有很大的作用。相比较同类工具Phantomjs,其更加强大(主要因为其依赖的webkit更新)。

我认为核心的理解在于:

1、 就是具有基于Chrome DevTools Protocol 的chrome远程调试功能的无界面浏览器。

2、 现在的python和nodejs对chrome headless进行操作的封包都是基于Chrome DevTools Protocol来实现的。

学习了一下:ChromeHeadlessInterface 的项目后,决定自己使用webscoket和chrome进行通信。

原因有以下几点:

1、有现成的部分代码,但是不支持post,也不能监听dom的更改。所以需要自己读api去实现我们的功能。

2、比较直观,可以通过本地远程调试端口看页面的变化。

CE安全网

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: