web信息收集
我见过太多人在web信息收集上栽跟头。信息收去年帮一家公司做安全评估,信息收对方的信息收技术主管拍着胸脯说他们信息收集做得滴水不漏,结果我花二十分钟用公开的信息收证书透明度日志就找到了三个测试子域名,其中一个还连着生产环境的信息收数据库。那不是信息收技术问题,是信息收思路问题。
信息收集的信息收核心从来不是工具多花哨,而是信息收你有没有建立"从外到内、从粗到细"的信息收层次感。先别急着扫端口,信息收第一步要做的信息收是梳理攻击面——域名、IP段、信息收证书、信息收历史DNS记录。信息收用crt.sh查证书,用SecurityTrails翻历史解析,这些数据是公开的,但大多数人根本想不起来去看。我习惯把收集到的子域名全部丢进一张表格,标注来源和首次发现时间,光是这个动作就能筛掉一半无效目标。
端口扫描要讲究顺序。别一上来就nmap -p-全端口,那是在浪费生命。先跑一遍top 1000,把常见的web服务挑出来。有一次我扫一个政府网站,8080端口开着个老旧的Tomcat管理后台,默认口令直接登进去。没人想到去扫这个端口,因为它的主页看起来就是个静态宣传页。所以我说,扫描要有"怀疑一切"的心态——每个开放端口都可能是突破口,但优先级得靠服务识别来判断。
Web指纹识别这步最容易被轻视。很多人用whatweb跑一遍就完事,其实远远不够。要手动看响应头里的Server字段、X-Powered-By,看HTML源码里的框架特征,甚至要留意404页面的样式差异。我见过一个网站,表面是Nginx,但错误页面暴露了后端的Jetty版本——那个版本有个已知的路径穿越漏洞。指纹识别的意义在于,它告诉你该往哪个方向深入,而不是让你像个无头苍蝇一样乱撞。
目录扫描别只盯着字典。用dirsearch跑完默认字典只是热身,真正的宝藏藏在"robots.txt、sitemap.xml、备份文件"这些容易被忽略的地方。有一次我扫一个电商站,发现根目录下有个.zip文件,下载下来是整套源码的备份。没人知道那是谁传上去的,但它就在那儿躺了三年。还有一次,我在一个API文档页面里翻到了内部测试接口,参数里居然带着生产环境的access_key。
最后说一句实在话:信息收集的终点不是数据堆得越多越好,而是你能不能从中提炼出"可执行的路径"。我见过有人收集了上千条子域名,但最后只用了其中一条——因为那条指向了未授权的GitLab实例。真正的功夫在于筛选和关联,而不是机械地跑工具。把每次收集到的信息当作拼图碎片,你得想清楚它们怎么拼在一起,才能看到完整的画面。
