什么是网站安全扫描器?我相信玩安全的朋友基本都用过,要是没用过的话那你可以直接忽略本文了。抛开技术细节不说,我认为扫描器其实就是网络爬虫和漏洞识别(俗称:漏洞审计)的一个结合体,网络爬虫的目的就是获取网站中所有的可视和不可视的目录和链接,它是漏漏洞识别的基础;爬虫的优劣会部分影响到扫描结果的产出;漏洞识别就是能够自动化对目录和链接进行分析和审计,并将漏洞结果进行输出,从这个角度来说,漏洞识别才是扫描器的核心。所以一个好的扫描器都会有一个强大的漏洞库,通过对漏洞的分析来源源不断的补充扫描器的漏洞识别能力。
WAT扫描器的工作原理
1 先爬取首页,利用正则提取页面链接,除去模糊链接
2 单纯暴力探测目录,获取网站不可视的链接和目录
3 指纹识别插件,识别网站指纹后,会自动添加该CMS的动态连接供爬虫和审计(暂时 还没有实现完成)
4 爬虫和表单暴力破解插件,利用浏览器引擎(WebKit核心)作为沙盒,触发页面中所有 的事件模拟执行(现在主要是OnClick和OnMouseOver,支持自定义事件扩展),获取页 面中所有的事件交互链接
5 基础漏洞插件,对常用的SQL注入漏洞,XSS跨站漏洞,SQL错误信息和网站挂马识 别检测,挂马识别这块主要是根据网马静态特征码匹配,还有待提高。
6 具体漏洞插件,对针对漏洞的检测
软件结构:
硬件资源: 三台云主机
Web前端网站(1台)
基础配置:1core(Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz)/1G内存
消息队列(1台)
基础配置:1core(AMD Opteron(tm) Processor 6172)/512M内存
WAT扫描器(1台)
基础配置:1core(Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz)/1G内存
单进程实例,由于服务器原因,暂时不支持多并发
总共硬件成本费用:5000/年
扫描器特点:
1 支持Web2.0爬虫
2 支持主流挂马识别
Microsoft MPEG-2 Exploit Vuln(ms_mpeg2)
QuickTime ActiveX _Marshaled_pUnk Vuln(quicktime_marshaled_punk)
msnshell ActiveX ShowTag Vuln(msnshell_showtag)
CVE-2010-3962 Internet Explorer Table css vuln(ie_table_clip)
MS09-002 Internet Explorer DOM Vuln(ie_ms09002)
userData CVE-2010-0806 Internet Explorer userData Vuln(ie_userdata_uof)
Aurora Internet Explorer Vuln(ie_aurora)
Microsoft Office OWC ActiveX Vuln(owc10_spreadsheet_uof)
3 支持漏洞插件扩展
4 支持扫描QPS控制
注:
WAT扫描器距离产品还有一段距离,由于个人的精力有限,而且有些问题也不是一个人可以考虑全的,所以希望在大家的帮助下完善,我相信好的产品都是在使用过程中慢慢改进出来的,接下来会把精力放在漏洞库为主和修复反馈的一些BUG,但请注意网站扫描存在安全风险,这里并没有验证使用者的权限,所以请尽量使用自己的网站或国外网站进行测试,在使用过程遇到任何问题都可以直接反馈给我,小网站扫描时间30分钟以内,大网站一般在30分钟~1个小时,由于云主机性能问题(配置较低),类似新浪这种大网站很容易让这台云主机跑满,不过我在独立PC上跑是没有问题的,大网站就不建议提交了。也欢迎大家和我讨论关于扫描器的技术问题,如果该扫描器有帮助到你或有意请我喝杯咖啡的朋友:-),也可以选择小额赞助下,以支持下扫描器的硬件费用,在此不胜感激。
作者邮箱:imiyoo2010@gmail.com,,扫描器地址:http://www.watscan.com
扫描验证码:imiyoo
转自:http://www.imiyoo.com/webscan/2013/07/13/58.html
扫描器如何判断错误页面(404)
通常情况我们访问网站的时候,如果服务器上存在这个页面,那么我们会接收到一个状态码为404的
Response.但随着SEO的普及,稍微懂点优化的站长都有做自定义错误页面优化,何为自定义错误页面优化呢?
1 当你访问一个不存在的页面,服务端同样返回状态码200
2 而且还是一个自定义的内容的错误页面。
碰到这种情况,想单纯利用状态码404进行判断基本不可能,而且会造成大规模的误报?那是不是我们就没有
办法了呢?当然不是,这个时候我们就得利用页面内容来匹配获得,这里就简单记录下思路:
1 首先获取网站404页面内容,提取404页面关键特征或建立404页面内容库
2 然后扫描器再判断页面内容是否含有404页面特征,如果有,则该页面为404,否则该页面存在。
转载请注明:jinglingshu的博客 » WATScan扫描器