告别样本不平衡噩梦:Focal Loss 让你的模型学会“划重点”
我说的不是 Python 那个 HTTPX 客户端而是 ProjectDiscovery 出的 httpx。官方对它的定义很直接一个高性能、面向多探针的 HTTP 工具包支持高并发下对 URL、主机、CIDR 等目标做 HTTP 层探测并尽量保证结果稳定性。它本质上不是漏洞扫描器而是 Web 资产探测和结果归一化工具。工具地址链接https://github.com/projectdiscovery/httpx686eb8943ac9b20f06e095e0a4a3d5b2很多人第一次接触它会把它理解成批量访问网页的工具。这么理解不算错但太浅了。httpx 真正厉害的地方不在于能不能访问而在于它能把一堆杂乱的目标快速整理成一批有上下文、有指纹、有优先级的 Web 资产结果。它不是用来打的而是用来筛的白帽子做信息收集时经常会遇到一个问题目标很多子域很多端口很多URL 更多但真正值得深挖的点很少。这个时候httpx 的价值就出来了。它可以在探测时顺手拿到很多 HTTP 层信息比如:状态码、标题、内容长度、重定向位置、响应时间、favicon hash、JARM、IP、CNAME、ASN、CDN/WAF、TLS 证书信息、CSP 信息、Web 技术栈等。也就是说httpx 干的不是“找到漏洞”而是先回答这些问题1.这个域名到底活不活2.它跑的是不是 Web 服务3.是 HTTP 还是 HTTPS4.是不是走了 CDN5.是不是同一套站群6.标题像不像后台7.favicon 能不能聚类8.技术栈是不是 PHP/Java/Node/Go9.证书里有没有暴露别的域名10.某批资产里哪些优先级更高这一步做好了后面的 Burp、Nuclei、Katana、手工验证效率会完全不一样。从技术上看httpx 强在多探针并发探测httpx 的核心思路不是只发一个请求拿个状态码而是围绕目标执行多种 probe。官方文档里把 probe 描述成一组针对 Web 服务器、URL 或其他 HTTP 元素的检查项。拿最常见的几类来说1. 基础存活与协议识别最基础的是判断目标是否可达。但它不是傻扫。默认情况下如果 HTTPS 不通它会回落到 HTTP如果你想同时保留 HTTP 和 HTTPS 的结果可以用 -no-fallback。官方还支持自定义端口和协议映射比如把 443 按 HTTP 跑或者把 8443 按 HTTPS 跑。这在实战里很有用。因为很多历史资产、非标端口、运维临时服务协议和端口经常不规范单靠443HTTPS、80HTTP的思路很容易漏。2. 页面特征提取httpx 很适合做页面画像。状态码、标题、Server、content-type、响应时间、body 预览、内容长度、词数、行数这些都是常见输出。对测试人员来说这些信息不是展示用的而是拿来做判断的302 到单点登录说明可能是统一认证入口401/403 的资产未必没价值反而可能是后台标题里带 test、dev、admin、swagger、api优先级就上来了一批长度、标题、hash 都高度相似的站很可能是同一套模板页3. 指纹与聚类能力很多人喜欢它就是因为它非常适合站群归类。官方支持 -favicon、-jarm、-tech-detect、-asn、-cdn 等能力。-tech-detect 基于 Wappalyzer 数据做技术识别favicon 和 JARM 更适合做相似资产聚类ASN、IP、CNAME、CDN 能帮助你判断资产归属和部署形态。这在 SRC 场景尤其好用。你手里可能有几千个子域真正要优先看的不一定是首页最正常的那个而是 favicon 和某个已知后台一致、JARM 相似、标题异常、技术栈可打的那一批。4. 路径、端口和扩展探测httpx 不是只能打一层首页。官方支持 -path、-ports、-vhost、-http2、-pipeline、-tls-probe、-csp-probe 等能力不过官方也特别提醒这类参数更适合按场景单独使用而不是默认全开。这里面有几个很实战-path 对一批目标统一探测某些路径比如 :/login/admin/actuator/swagger-ui-ports补扫非标 Web 端口-vhost适合碰虚拟主机场景-tls-probe从证书侧面扩展目标面-csp-probe从 CSP 中拿到更多相关域名线索说白了它不是一个只读首页的工具而是一个能围绕 HTTP 面持续做扩展侦察的工具。5. 过滤、匹配和去噪这个点经常被低估但实际很关键。httpx 官方支持字符串、正则、状态码、长度、词数、行数、错误页、重复结果等多种过滤与匹配方式还支持 DSL。并且提供了 -filter-error-page 和 -filter-duplicates 这类非常贴近实战的参数。真正跑过大规模资产的人都知道噪声远比目标多。统一 404、WAF 拦截页、空白页、跳转页、静态占位页这些都会淹没有效目标httpx 的强点之一就是可以把一堆看起来都活着的页面进一步压缩成值得花时间看的页面。为什么它总是出现在 ProjectDiscovery 工具链里官方 Quick Start 给的链路很典型先做资产发现再交给 httpx 做活性确认和信息提取然后再把结果喂给 nuclei。这套思路背后其实很清楚subfinder 解决有什么域名naabu 解决开什么端口httpx 解决哪些是有价值的 HTTP 面katana 解决往里爬能爬出什么路径nuclei 解决基于模板能打出什么问题所以 httpx 的位置非常像一个中间层。它上接资产发现下接漏洞验证和手工测试。这个位置决定了它不一定最“炫”但很可能是你用得最频繁的一个工具。对白帽子来说它最实用的几个场景1. 渗透测试里的资产梳理拿到一批域名、IP、端口之后第一步不是马上扫漏洞而是先知道哪些目标真正值得投入时间。httpx 可以很快帮你筛出在线 Web 资产、登录页、跳转链、测试系统、接口页、后台和异常标题页。2. SRC 里的批量筛点SRC 最怕的是资产太多眼睛不够用。这时候 httpx 不只是探活工具而是一个分类器。你可以按标题、状态码、favicon、技术栈、错误页过滤把真正值得手工看的目标提出来。3. 攻防演练里的快速建图演练讲究时间效率。httpx 的高并发、多输入模式、结构化输出和批量路径探测很适合前期快速拉一张 Web 暴露面图再往下交给人工验证或其他模块。官方也支持 CIDR、主机、URL 等多种输入。4. 应急响应里的暴露面复核应急里经常需要回答这种问题哪些站还在线哪些页面被篡改了哪些后台还暴露着哪些资产看起来是同一批httpx 的截图、渲染 DOM、标题、hash、favicon、证书、JARM 这些能力就很适合做批量复核。官方文档里也提到 -screenshot 可以抓页面截图并在搭配 -json 时把渲染后的 DOM 一起写进结果。它还有一个优点特别适合自动化官方支持 JSONL、CSV、响应保存还能作为 Go library 使用另外还有 GitHub Action 可以跑周期化任务。这意味着它不只是手工命令行工具也适合塞进你自己的巡检脚本、资产监控链路、日报任务或者持续验证流程里。对于团队化作业来说这一点其实很重要不是每个工具都能自然接入流水线但 httpx 很适合。但也别把它神化httpx 再好用它也不是漏洞扫描器更不是业务逻辑测试工具。它不负责帮你理解鉴权链不负责登录态后的深层测试也不替代爬虫、代理或人工分析。官方的定位始终是 HTTP probing/toolkit而不是自动帮你找洞的一站式工具。所以更准确地说httpx 是一把把目标面整理清楚的刀。它帮你节省的不是最后那一步验证漏洞的时间而是前面大量无效翻页、无效点击、无效筛选的时间。HTTPX常用命令1.探测单个目标httpx -u https://example.com2.探测多个目标httpx -u https://a.com https://b.com3.从文件读取目标httpx -l targets.txt4.只输出存活结果适合做清洗httpx -l targets.txt -silent5.显示状态码和标题httpx -l targets.txt -sc -title常规信息收集状态标题长度IP1.显示状态码、标题、长度httpx -l targets.txt -sc -title -cl2.再加上 Web Serverhttpx -l targets.txt -sc -title -cl -server3.显示 IPhttpx -l targets.txt -ip4.显示 CNAMEhttpx -l targets.txt -cname5.显示响应时间httpx -l targets.txt -rt技术指纹识别中间件和框架1.开启技术识别httpx -l targets.txt -td2.技术识别 标题httpx -l targets.txt -td -title3.技术识别 CPEhttpx -l targets.txt -td -cpe4.WordPress 指纹探测httpx -l targets.txt -wp5.favicon 哈希识别httpx -l targets.txt -favicon内容特征看页面像不像同一套系统1.显示内容类型httpx -l targets.txt -ct2.显示行数httpx -l targets.txt -lc3.显示词数httpx -l targets.txt -wc4.预览响应体前 100 字符httpx -l targets.txt -bp5.计算页面哈希httpx -l targets.txt -hash md5过滤和匹配从海量结果里捞重点1.只看 200httpx -l targets.txt -mc 2002.只看 200 和 302httpx -l targets.txt -mc 200,3023.过滤掉 404 和 403httpx -l targets.txt -fc 404,4034.匹配标题或正文里含 adminhttpx -l targets.txt -ms admin5.过滤近似重复页面httpx -l targets.txt -fd错误页和杂质清洗结果更加干净1.过滤错误页httpx -l targets.txt -fep2.过滤长度为 0 或固定模板页httpx -l targets.txt -fl 0,12343.过滤含指定字符串的页面httpx -l targets.txt -fs 404 Not Found4.过滤正则匹配页面httpx -l targets.txt -fe error|forbidden|denied5.过滤 CDN 资产httpx -l targets.txt -fcdn cloudfront,fastly端口路径协议更接近实战1.探测多个常见 Web 端口httpx -l targets.txt -p 80,443,8080,84432.探测指定路径httpx -l targets.txt -path /admin3.同时探测多个路径httpx -l targets.txt -path /admin,/login,/manage4.显示 HTTP 和 HTTPS 两种结果不自动只保留一个httpx -l targets.txt -nf5.自定义端口协议映射httpx -l targets.txt -ports http:80,http:8080,https:443,https:8443官方文档明确说明默认 HTTPS 不通会回退到 HTTP-no-fallback 可以同时显示两种探测结果也支持像 http:443,http:80,https:8443 这样的端口协议映射跳转请求头代理适合调试和带鉴权测试1.跟随重定向httpx -l targets.txt -fr2.只跟随同主机跳转httpx -l targets.txt -fhr3.自定义 Headerhttpx -u https://example.com -H Cookie: sessionabc4.带多个请求头httpx -u https://example.com -H Cookie: ab -H X-Token: test5.走 Burp 代理httpx -l targets.txt -proxy http://127.0.0.1:8080输出保存给报告脚本自动化用1.输出到文件httpx -l targets.txt -sc -title -o result.txt2.以 JSONL 输出httpx -l targets.txt -sc -title -td -json -o result.json3.JSON 中包含响应头httpx -l targets.txt -json -irh -o result.json4.JSON 中包含完整请求和响应httpx -l targets.txt -json -irr -o result.json5.保存响应内容到目录httpx -l targets.txt -sr -srd responses截图和可视化做后台梳理很好用1.对所有页面截图httpx -l targets.txt -ss2.使用系统 Chrome 截图httpx -l targets.txt -ss -system-chrome3.截图时延长超时httpx -l targets.txt -ss -st 204.截图前多等 3 秒让前端渲染完httpx -l targets.txt -ss -sid 35.截图 标题 技术栈一次看全httpx -l targets.txt -ss -title -td -sc我最常用的八条httpx -l targets.txt -silenthttpx -l targets.txt -sc -titlehttpx -l targets.txt -sc -title -td -iphttpx -l targets.txt -fc 404,403 -fep -fdhttpx -l targets.txt -path /admin,/login -sc -titlehttpx -l targets.txt -p 80,443,8080,8443 -sc -titlehttpx -l targets.txt -json -irh -o result.jsonhttpx -l targets.txt -ss -title -td几个高频联动的场景1. 子域名subfinder 的结果直接喂给 httpxsubfinder -d example.com -silent | httpx -silentsubfinder -d example.com -silent | httpx -silent -sc -titlesubfinder -d example.com -silent | httpx -silent -sc -title -td -ip -cdnsubfinder -d example.com -silent | dnsx -silent | httpx -silent -sc -title2.子域名发现 标题 技术栈subfinder -d example.com -silent | httpx -sc -title -td3.端口扫描结果继续探测 Web殖丫碌剿
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2459098.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!