游客发表
去年帮一个做电商的洞扫朋友看服务器日志,发现每天凌晨三点左右,洞扫总有一批来自不同IP的洞扫请求在疯狂试探他的后台登录接口。每个IP只试三五个密码就换,洞扫频率控制得刚好不触发防火墙。洞扫这不是洞扫人能干出来的事——有人在用自动化工具做Web漏洞扫描,顺便撞库。洞扫
Web漏洞扫描说白了就是洞扫用程序模拟攻击者的行为,去发现网站可能存在的洞扫弱点。它跟渗透测试不一样。洞扫渗透测试是洞扫人盯着目标,有策略地打;扫描器更像撒网捕鱼,洞扫靠规则库和payload列表批量测试。洞扫常见的洞扫工具有AWVS、Nessus、洞扫OpenVAS,还有国产的Xray、Goby。开源那边SQLMap专攻注入,Nikto扫敏感文件,每个都有自己的脾气。
扫描器怎么干活?拿SQL注入举例。它会把 ' OR 1=1 -- 这类payload塞进URL参数、表单字段、HTTP头,然后看服务器返回什么。如果页面报SQL语法错误,或者返回内容跟正常请求有差异,它就标记为疑似漏洞。XSS检测类似,插一段 <script>alert(1)</script>,看能不能原样出现在响应里。听起来简单,实际误报率高得离谱。我见过一个扫描器把某个正常返回“1”的接口全标成注入点,报告出来三百多个漏洞,人工复核后只剩两个真的。
扫描器最怕遇到WAF。你payload发过去,WAF直接拦截,返回403或自定义拦截页面。扫描器一看响应变了,可能就放弃这个点。有经验的选手会加绕过模块,比如把 SELECT 写成 SeLeCt,或者用 /**/ 代替空格。但魔高一尺道高一丈,现在很多WAF连请求频率和参数熵值都算,扫描器一跑起来特征太明显,直接被封IP。
说个真事。某次我给一个客户做授权扫描,用Xray挂代理跑了一个下午。报告里有个“任意文件读取”漏洞,路径是 /download?file=../../etc/passwd。我手动验证,确实读到了passwd内容。客户运维看完脸都绿了——这个接口三年前就上线了,一直没人管。后来查代码,发现是开发图省事,直接把用户传的文件名拼进路径。扫描器只是把这个显而易见的问题捅了出来。
但别指望扫描器能发现逻辑漏洞。比如一个电商网站,优惠券可以无限叠加,或者把订单金额改成负数。这类问题扫描器根本看不懂。它只认已知的、有固定模式的漏洞。业务逻辑得靠人脑去推。我见过最离谱的逻辑漏洞是某平台注册时,把用户ID直接写在返回包里,改一下就能变成别人的账号。扫描器扫一万遍也扫不出来这个。
想自己搭扫描环境的话,Kali Linux里预装了一堆工具。装个DVWA或者Pikachu当靶场,拿AWVS对着扫,看它怎么报错、怎么绕WAF。别只点“开始扫描”然后等报告。盯着流量看,理解每个payload为什么发、服务器为什么那样回。这比看十篇教程管用。
最后说个观察。很多公司买扫描器只是为了应付等保测评。报告生成PDF往柜子里一锁,漏洞列表看都不看。等真被拖库了才想起来翻报告,发现三个月前就标了高危。工具是死的,用工具的人得活着。
友情链接