WEB目录扫描的原理是什么
我拿一个真实案例开场:某次渗透测试中,目描目标站点是录扫个老旧的政府子站,WAF规则严得像个铁桶。原理我手动翻了半天,目描什么都没找到。录扫后来干脆挂上dirsearch,原理用最基础的目描字典跑了一遍——结果十分钟后,扫出来一个 WEB目录扫描的录扫原理,说白了就一句话:对目标站点的原理URL路径做穷举猜测。它不依赖什么高深漏洞,目描就是录扫赌你服务器上存在某些“约定俗成”的文件或目录——比如 这一步的关键在于“判断”。服务器返回200,说明路径存在且可访问;403表示存在但被禁止访问;301/302是重定向,可能指向登录页;404就是压根没有。但这里有个坑:很多站点的404页面做得不标准,或者干脆统一返回200。你拿dirsearch默认配置去扫,可能会把一堆不存在的路径误判成“存活”,然后浪费大量时间手动验证。所以老手都会自定义“不存在”的判定条件,比如对比响应体长度,或者检查是否包含特定错误关键词。 再说说字典。这是扫描效果的分水岭。默认的 扫描本身还分两种模式:静态和动态。静态就是老老实实按字典发请求,速度快但容易漏掉动态生成的路径。比如某个文件上传功能,上传后的文件URL是 不过我得泼盆冷水:目录扫描不是万能的。它赌的是“路径可预测”,如果开发者用了随机化的目录名,或者把所有文件都藏在CDN后面,扫描基本没用。更别提现在很多站点做了请求频率限制,你扫得太猛,IP直接进黑名单。我遇到过最尴尬的情况是,扫描器把目标站点的WAF给触发,导致整站对全IP段封禁,客户当场打电话来骂。 写到这里,你会发现目录扫描更像一场“猜谜游戏”——你手里的字典就是猜谜的题库,HTTP响应就是猜对与否的提示。它的价值不在于直接攻破系统,而在于帮你发现那些“本不该暴露”的角落。那些角落,往往才是真正的突破口。工具本身不聪明,但用工具的人,得知道自己在猜什么。/backup/目录,录扫里面躺着完整的原理源码备份。攻击面瞬间打开。目描/admin、/phpmyadmin、原理/.git、/upload。工具按照字典里的词条,逐个拼接到域名后面发HTTP请求,再根据响应状态码判断路径是否存在。common.txt只有几千条,扫个普通建站系统还凑合,但遇到定制化路径就抓瞎了。我见过有人扫一个用了两年多的ThinkPHP项目,默认字典跑完一无所获,换了个包含/runtime/、/application/等框架特征路径的字典,立刻命中。所以真正的扫描不是“跑完就完”,而是先做指纹识别——比如探测出目标用的是Spring Boot,那就找对应的Spring路径字典;是WordPress,就上wp-scan的路径列表。盲目扫,跟闭着眼翻字典找单词一样低效。/uploads/202405/xxxx.jpg,这种带时间戳的路径,字典里根本不可能有。动态扫描则会根据爬虫抓到的链接、JS文件里的API路径、甚至响应头里的信息,实时构造新路径去探测。像ffuf这类工具就支持递归扫描——发现/admin/存在,就继续扫/admin/下面的子路径,层层往下挖。这比单层扫描要费时,但挖出隐藏目录的概率高得多。
-
上一篇
-
下一篇
- 最近发表
- 随机阅读
- 搜索
-
- 友情链接
-