本文部分资料来源于沈寿忠 ,张玉清的《基于爬虫的XSS漏洞检测工具设计与实现》
一 XSS-Scan系统原理图解分析
他们写的这个系统模块还算是比较清晰易懂,我的解读如下:
1.首先用Crawler模块对页面进行URL抓取(就是讲URL放到一个叫Crawler URL Queue的队列中)
2.把抓取的URL进行请求,获取这个web页面的HTML代码
3.对这个web页面进行分析,在分析中对这个URL进行“能否注入测试”,我认为就是判断是否URL中是否有参数传递,如果可以注入,就把这个URL放到TestURLQueue队列中,进行下一步的Tesing模块。同时会这个URL的信息加入到URL HashTable中,并且不断深度抓取下一个URL放到CrawlerURLQueue中。
4.不断地从TestURLQueue队列中取出记录进行测试,如果测试有漏洞就记录,没有就循环直至TestURLQueue为空且CrawlerURLQueue为空。