游客发表
网页渗透的网页第一步,往往不是渗透收集打开Burp Suite或者Nmap,而是信息打开浏览器按F12。这事儿听起来有点土,网页但真就这么回事。渗透收集我见过太多新手,信息上来就对着目标域名一顿暴力扫描,网页结果扫了半天,渗透收集连人家用了什么框架都没搞清楚——那感觉就像蒙着眼拆炸弹,信息纯属碰运气。网页
信息收集的渗透收集核心就一句话:你了解目标的方式,决定了你攻击的信息方式。静态页面和动态渲染的网页站点,攻击面完全是渗透收集两码事;用了CDN的站和直接暴露源IP的站,难度系数差着好几个量级。信息所以别急着动手,先花时间把目标的“底裤”扒干净。
先从最基础的whois和DNS记录开始。whois能查到注册邮箱、注册商、过期时间——过期时间这个点特别有意思,很多企业域名到期忘了续费,或者用了隐私保护但历史记录里翻得出真实信息。DNS这块,A记录、CNAME、MX、TXT都值得看一遍。TXT记录里偶尔会藏着SPF配置失误,或者干脆有人把内部服务凭证贴上去过——别笑,这种事真发生过。
然后就是子域名枚举。这一步很多人会直接跑工具,但工具跑出来的结果往往不全。我习惯先用证书透明度日志查一遍,crt.sh上输入主域名,能把历史签发过的所有证书列出来,里面经常藏着测试环境、老项目、甚至已经下线但还能访问的内部系统。配合Google dork语法,比如site:target.com -www,能挖出不少搜索引擎收录的边角料页面——这些页面可能没人维护,漏洞却扎堆。
接下来是识别Web技术栈。看响应头里的Server字段、X-Powered-By,看HTML源码里的generator标签,或者直接看JS文件的命名规律。用Wappalyzer这类插件能省不少事,但别完全信它——它认不出自定义框架。这时候就得手动翻几个JS文件,找找有没有API接口的base URL、有没有硬编码的密钥、有没有注释里遗留的调试信息。JS文件是个宝库,很多人把token、内部路径、甚至数据库连接串直接写在里面,等于把钥匙挂在门口。
路径和目录的探测要放在技术栈识别之后。因为知道了目标跑的是Nginx还是Apache,是ThinkPHP还是Spring Boot,你就能猜出默认路径和管理后台的位置。用dirsearch扫一遍只是基础操作,更重要的是看robots.txt和sitemap.xml——虽然正规站点不会把敏感路径写进去,但总有粗心的人会留个/disallow的尾巴。另外,记得看一眼网站地图,有时候它会暴露你想象不到的功能页面。
最后说点容易被忽略的:Google缓存和历史快照。很多网站改版后,旧页面其实还残留在搜索引擎的快照里,那些页面可能带着旧版本的漏洞。还有,通过LinkedIn或者招聘网站,能查到目标公司用的什么技术栈——他们招人时写的JD比任何扫描器都诚实。
说白了,信息收集拼的不是工具多先进,而是耐心和联想能力。你从一条TXT记录里挖到一个测试域名,从测试域名的证书里找到一台旧服务器,再从旧服务器的响应头发现它跑着2015年的Apache——这条攻击链,比任何自动化工具跑出来的报告都值钱。收集阶段多花一小时,后面打点可能省下一天。别嫌麻烦,这活儿糙,但理不糙。
友情链接