news 2026/9/19 13:22:35

httpx内置实战配方:批量探测security.txt、robots.txt等10类well-known文件

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
httpx内置实战配方:批量探测security.txt、robots.txt等10类well-known文件

httpx内置实战配方:批量探测security.txt、robots.txt等10类well-known文件

【免费下载链接】httpxhttpx is a fast and multi-purpose HTTP toolkit that allows running multiple probes using the retryablehttp library.项目地址: https://gitcode.com/gh_mirrors/htt/httpx

httpx 是一款快速、多功能的 HTTP 探测工具(probing toolkit),基于 retryablehttp 库支持多线程批量探测。它的内置实战配方让你可以一行命令批量探测 security.txt、robots.txt 等 10 类 well-known 文件,快速完成安全信息与资产侦察。本文整理这套完整配方清单与原理,新手也能直接上手。

为什么需要批量探测 well-known 文件

Web 应用中有一批约定俗成的"标准路径"文件,它们往往藏着高价值信息:

  • security.txt(RFC 9116):声明漏洞报送渠道,是 SRC 和安全测试的起点
  • robots.txt / sitemap.xml:暴露站点结构,常含有敏感目录的 Disallow 规则
  • ads.txt / humans.txt:运营与团队信息的"名片"
  • openid-configuration、assetlinks.json等:揭示应用的认证体系与 App 关联配置

这些路径单个探测很简单,但面对成百上千个目标时,需要批量探测 + 精准过滤:既要探测多个路径,又要排除"软 404"(服务器对不存在的路径返回 200 状态码和 HTML 错误页)。httpx 的配方正好解决了这个问题。

配方原理:三个参数组合

所有 well-known 配方都基于同一个模式,组合使用三个参数:

参数作用
-path指定一个或多个探测路径,逗号分隔即可一次探测多个
-mc 200只保留返回 200 状态码的结果
-mdc用 DSL 表达式匹配响应字段,如contains(content_type, ...)contains(body, ...)

关键在-mdc(match-condition)参数:它可以在结构化字段上做匹配,而不是简单地在原始响应里找字符串。以 security.txt 配方为例,它同时校验:

  1. Content-Type 是text/plain(排除返回 HTML 软 404 的服务器)
  2. 正文包含Contact:字段
  3. 正文包含mailto:https://联系信息

这三条全部满足才判定"真正存在 security.txt",大幅减少误报。参数定义见 options.go。

10类well-known文件配方完整清单

以下配方定义在 wellknown_recipes.go 中,并在 wellknown_recipes_test.go 中通过单元测试逐条验证,与 README 官方文档 完全一致。

#目标探测路径匹配条件
1security.txt/.well-known/security.txt/security.txttext/plain +Contact:+ mailto/https
2robots.txt/robots.txttext/plain
3sitemap.xml/sitemap.xmlXML 类型 +<urlset
4humans.txt/humans.txttext/plain
5ads.txt/ads.txttext/plain +google.com
6OpenID 配置/.well-known/openid-configurationJSON +"issuer"
7Apple Universal Links/.well-known/apple-app-site-association(含 .json 变体)JSON +"applinks"
8Android App Links/.well-known/assetlinks.jsonJSON +"android_app"
9crossdomain.xml/crossdomain.xmlXML +cross-domain-policy
10well-known 批量探测security.txt、change-password、openid-configuration 三条路径仅匹配 200

配方示例:一键探测 security.txt

echo target.com | httpx -path '/.well-known/security.txt,/security.txt' \ -mc 200 \ -mdc 'contains(content_type, "text/plain") && contains(body, "Contact:") && contains_any(body, "mailto:", "https://")'

命令含义拆解:

  • echo target.com:目标列表通过管道传入,批量探测时改用httpx -l hosts.txt即可
  • -path同时探测新旧两个标准路径,任一命中即输出
  • -mc 200+-mdc双重过滤,只保留"真 security.txt"

配方示例:批量探测多类 well-known URI

第 10 条配方是"轻量批量模式"——不做内容校验,只看哪些路径返回 200:

echo target.com | httpx -path '/.well-known/security.txt,/.well-known/change-password,/.well-known/openid-configuration' -mc 200

适合先用它扫出"有哪些路径活着",再对感兴趣的返回加上-mdc内容校验深挖。

批量实战技巧

  1. 目标列表输入-l hosts.txt读取主机清单;Burp Suite 导出的 XML 也能用-l burp-export.xml -im burp直接作为输入
  2. 限速与并发:默认 50 线程、150 QPS(-t-rl可调),批量扫生产环境时建议调低速率
  3. 结果落盘-o result.txt保存文本结果,-j -o result.jsonl输出 JSON 便于后续脚本处理
  4. 自动降级:httpx 默认探测 HTTPS,失败自动降级 HTTP,无需额外配置

配方从哪来?源码里就能查

所有配方的"单一事实来源"是 runner/wellknown_recipes.go:每个配方的路径、匹配状态码、匹配条件都以结构体形式声明。测试文件 runner/wellknown_recipes_test.go 还专门验证了"拒绝软 404""security.txt 必须含 Contact 字段""ads.txt 必须含授权广告商"等边界情况——这正是配方可靠的原因。

常见问题

Q:为什么有的目标明明返回 200,配方却没匹配上?A:多半是"软 404"——服务器对任意路径都返回 200 + HTML 页面。-mdc对 Content-Type 的校验就是用来排除这种情况的,这也是为什么配方要同时看状态码和响应内容。

Q:可以只探测某一个路径吗?A:可以,-path传单个路径即可,比如只查 robots.txt 的极简命令:httpx -u target.com -path /robots.txt -mc 200

Q:-mdc-ms(match-string)有什么区别?A:-ms/-mr在整个原始响应上匹配字符串/正则,而-mdccontent_typebody等结构化字段上做表达式匹配,写起来更精确、不易误匹配。

总结

httpx 的内置实战配方把"批量探测 well-known 文件"这件事标准化了:-path多路径并发、-mc状态码过滤、-mdcDSL 内容校验三层组合,10 类配方开箱即用且有单测背书。掌握这套模式后,你也可以照葫芦画瓢,为自己的场景(比如探测某个私有接口)写出专属探测配方。

【免费下载链接】httpxhttpx is a fast and multi-purpose HTTP toolkit that allows running multiple probes using the retryablehttp library.项目地址: https://gitcode.com/gh_mirrors/htt/httpx

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/19 13:22:28

N_m3u8DL-RE 免费流媒体下载工具:10 分钟跑通 m3u8 与 DASH 下载

N_m3u8DL-RE 免费流媒体下载工具&#xff1a;10 分钟跑通 m3u8 与 DASH 下载 【免费下载链接】N_m3u8DL-RE Cross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文. 项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3…

作者头像 李华
网站建设 2026/9/19 13:19:07

Windows重装深度解析:UEFI/GPT分区、驱动注入与四阶段可控安装

1. 项目概述&#xff1a;这不是一次简单的“点下一步”&#xff0c;而是一场系统级的精准手术重装Windows&#xff0c;三个字在普通用户嘴里是“电脑卡了就重装”&#xff0c;在IT支持人员耳中是“客户又把系统搞崩了”&#xff0c;而在真正懂行的从业者听来&#xff0c;它是一…

作者头像 李华
网站建设 2026/9/19 13:16:35

多平台电影院票务系统设计与实现:从架构到并发选座全解析

想起个事儿&#xff0c;我最近被问了好几次“电影院票务系统怎么做”&#xff0c;问的人里有做毕设的学生&#xff0c;也有准备接小影院外包项目的朋友。仔细聊下来发现&#xff0c;大家纠结的点其实很一致&#xff1a;不是不知道怎么写代码&#xff0c;而是不知道怎么把“小程…

作者头像 李华