用 ffuf 和 dirsearch 扫自己的站点:一次完整实战

8860 字
44 分钟
用 ffuf 和 dirsearch 扫自己的站点:一次完整实战

这篇文章对应第一次挖洞那篇的Tips,在用ai探测的便利下,我还是要去学习探测工具的使用#

所以决定使用 ffuf 和 dirsearch,扫一下自己的网站来做一次实战测试。


先看实战结论#

  • 扫描跑了 9681 条字典(ffuf)/ 12296 条(dirsearch)
  • 原始输出 230 条命中,其中只有 10 条是真实的站点路径
  • 220 条 403 里,188 条是 nginx 的敏感文件拒绝规则,32 条是扫描压力下的假命中(冷却后变回 404)
  • 没有发现任何备份文件、配置文件、密钥文件的泄露

换句话说:这次扫描的产出 90% 是噪音,而”识别噪音”才是这套工具真正的使用技能。


两个工具的分工#

  • ffuf:Go 写的单文件二进制,FUZZ 关键字替换任意位置(路径、参数名、header、甚至域名前缀),参数最细,速度最快。适合”我已经知道要控制什么”的精细扫描。

  • dirsearch:Python 写的,开箱即用,自带字典和递归,报告格式多。适合”先快速摸一遍底”。

实用顺序是:dirsearch 摸一遍 → 发现可疑目录 → ffuf 对那个目录精细扫。

两者都不是必须的。如果只有几条路径要试,curl 循环反而更直接。


使用过程#

先看 robots.txt 和 sitemap#

这一步 30 秒,能省掉后面半小时。

Terminal window
curl -sS https://lyh-blogs.top/robots.txt

本例输出:

User-agent: *
Disallow: /_astro/
Sitemap: https://lyh-blogs.top/sitemap-index.xml

含义:

  • /_astro/ 是构建产物的静态资源目录,站方自己标了”别爬”,说明它存在且可访问
  • sitemap 会列出所有文章 URL,这比任何字典都准

/sitemap-index.xml 实测 200,可以直接读出来拿到全部页面清单。

教训:字典爆破是”猜”,robots 和 sitemap 是”站点自己招供”。先看招供的,再猜。

摸清 404 行为#

这一步决定了后面所有参数,必须先做。

用两个随机路径试:

Terminal window
curl -sS -I -m 10 -o /dev/null -w "status=%{http_code} len=%{size_download}\n" \
https://lyh-blogs.top/nope-abc123/

**Tips — 语法讲解

  • -sS -s 静默模式(不显示进度条),-S 出错时仍显示错误信息
  • -I只发送 HEAD 请求,只取响应头,不下载正文
  • -m 10 设置超时时间为 10 秒
  • -o /dev/null将响应内容丢弃,不保存到文件
  • -w "status=%{http_code} len=%{size_download}\n"自定义输出格式,打印 HTTP 状态码和下载大小

本例输出:

status=404

也就是真 404。这是最好的情况:状态码本身就能当判定依据。

其他两种常见情况,处理方式完全不同:

  • 软 404:不存在的路径也返回 200,内容是一个固定页面。这时必须按响应长度过滤(ffuf 的 -fs),或者用 -ac 自动校准。
  • 通配 200:SPA 把所有路径都路由到 index.html。这时按状态码、按长度都失效,只能看页面里有没有”未找到”的特征字符串(ffuf 的 -mr 正则匹配)。

判断方法:随机取两个不存在的路径,比较状态码和长度。两个都一样 → 软 404;一个 200 一个 404 → 正常。

本例还有第二个收获:404 页本身 350 KB(Content-Length: 350723)。这个数字后面会成为最大的坑。

算带宽预算(本例最大的坑)#

先算一笔账:

  • 字典 9681 条
  • 每条 404 都回 350 KB
  • 合计约 3.4 GB 下行

按轻量服务器 6 Mbps 带宽算,光传输就要 75 分钟。这不是扫描慢的问题,是你会把自己的站打满带宽,同时访问博客的人全部卡死。

解法:用 HEAD 请求。HEAD 只回响应头,不回 body。

先验证服务器配合不配合:

Terminal window
curl -sS -I -m 10 -o /dev/null -w "status=%{http_code} body=%{size_download}\n" \
https://lyh-blogs.top/nope-abc123/

输出:

status=404 body=0

body 是 0,说明 HEAD 生效,带宽从 3.4 GB 降到约 10 MB。

代价要清楚:ffuf 的 length 字段会全是 0,因为你没收到 body。所以用 HEAD 时,过滤只能靠状态码,不能靠长度。这个细节在第六步的结果里会看到。

ffuf 完整命令#

Terminal window
env -u HTTP_PROXY -u HTTPS_PROXY -u http_proxy -u https_proxy \
/Users/liyuhang/tools/bin/ffuf \
-u https://lyh-blogs.top/FUZZ \
-w ~/.local/share/uv/tools/dirsearch/lib/python3.14/site-packages/dirsearch/db/dicc.txt \
-X HEAD \
-mc 200,301,302,401,403 \
-rate 60 -t 10 -timeout 15 \
-s -of json -o ffuf-blog.json

逐参数拆:

  • env -u HTTP_PROXY ...:清掉代理环境变量。我的机器上设了本地代理,不清掉的话所有请求会绕一圈代理,既慢又会让扫描流量出现在代理日志里。这是最容易忽略的一条。
  • -u .../FUZZ:FUZZ 是占位符,ffuf 会把字典每一行填进去。它替代的不一定是路径末尾,也可以在中间、在参数值里。
  • -w:字典路径。
  • -X HEAD:用 HEAD 方法。省带宽的核心。
  • -mc 200,301,302,401,403:只保留这些状态码。一定要显式写,不要依赖默认值,默认值里包含 500,会把你自己的噪声混进来。
  • -rate 60:全局限速 60 请求/秒。
  • -t 10:并发线程 10。-rate 管总量,-t 管同时打开几个连接,两个都要设。
  • -timeout 15:单请求超时。
  • -s:静默模式,不刷进度条(重定向到文件时进度条会变成几千行垃圾)。
  • -of json -o ffuf-blog.json:结构化输出。一定要存 JSON,后面要写脚本统计,纯文本输出没法机读。

运行耗时 2 分 48 秒。

读结果——230 条怎么变成 10 条#

不要直接看 ffuf 的终端输出,先做统计。存了 JSON 就是为了这一步:

import json
from collections import Counter
rs = json.load(open("ffuf-blog.json"))["results"]
print("命中总数:", len(rs))
print("状态码分布:", Counter(r["status"] for r in rs).most_common())
print("长度分布:", Counter(r["length"] for r in rs).most_common(5))

本例输出:

命中总数: 230
状态码分布: [(403, 220), (200, 10)]
长度分布: [(0, 230)]

读法:

  • 220 条 403,10 条 200。这个比例本身就是信号。静态博客不该有 220 个”存在但禁止访问”的路径。
  • 长度全是 0,印证了用 HEAD 的代价——长度这个维度在这里完全没用。

再看 403 的具体内容:

/.aws/ /.env /id_rsa
/.bzr/ /.git/ /etc/passwd
/web.config /web.config.bak /var/log/payment.log
/.DS_Store /Thumbs.db /config.php.swp

全是敏感文件名。这不像”文件真的存在但禁止访问”,更像一份黑名单在起作用。有两种可能,必须区分:

  • 服务端配了敏感文件拒绝规则(好事,说明有加固)
  • 扫描压力下触发了限速/防护,临时返回 403(坏事,说明这 220 条是废数据)

复测——本次最重要的一步#

判断方法只有一个:降速,单条再打一次。

如果 403 是真实规则,冷却后依然是 403;如果是限速,冷却后会变回 404。

我写了个 verify_hits.py 做这件事,读 ffuf 的 JSON,每条间隔 0.25 秒重打一遍:

输入:ffuf 的 -of json 输出(必须用 JSON,纯文本没法机器解析)。

{"commandline":"/Users/liyuhang/tools/bin/ffuf -u https://lyh-blogs.top/FUZZ -w /Users/liyuhang/.local/share/uv/tools/dirsearch/lib/python3.14/site-packages/dirsearch/db/dicc.txt -X HEAD -mc 200,301,302,401,403 -rate 60 -t 10 -timeout 15 -s -of json -o ffuf-blog.json","time":"2026-10-17T17:10:09+08:00","results":[{"input":{"FFUFHASH":"e2a0655","FUZZ":".aws/"},"position":85,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":12463208,"resultfile":"","url":"https://lyh-blogs.top/.aws/","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0656","FUZZ":".aws/config"},"position":86,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":10989416,"resultfile":"","url":"https://lyh-blogs.top/.aws/config","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0657","FUZZ":".aws/credentials"},"position":87,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":16355208,"resultfile":"","url":"https://lyh-blogs.top/.aws/credentials","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a068a","FUZZ":".bzr/"},"position":138,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":14428500,"resultfile":"","url":"https://lyh-blogs.top/.bzr/","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a068b","FUZZ":".bzr/branch-format"},"position":139,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":16305291,"resultfile":"","url":"https://lyh-blogs.top/.bzr/branch-format","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a068c","FUZZ":".bzr/README"},"position":140,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13894375,"resultfile":"","url":"https://lyh-blogs.top/.bzr/README","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a068f","FUZZ":".c9/metadata/environment/.env"},"position":143,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":17676208,"resultfile":"","url":"https://lyh-blogs.top/.c9/metadata/environment/.env","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06d0","FUZZ":".config.inc.php.swp"},"position":208,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":10790375,"resultfile":"","url":"https://lyh-blogs.top/.config.inc.php.swp","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06d1","FUZZ":".config.php.swp"},"position":209,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":14435125,"resultfile":"","url":"https://lyh-blogs.top/.config.php.swp","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06e5","FUZZ":".configuration.php.swp"},"position":229,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":19861125,"resultfile":"","url":"https://lyh-blogs.top/.configuration.php.swp","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06122","FUZZ":".docker/.env"},"position":290,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":16351209,"resultfile":"","url":"https://lyh-blogs.top/.docker/.env","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06125","FUZZ":".docker/laravel/app/.env"},"position":293,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13760125,"resultfile":"","url":"https://lyh-blogs.top/.docker/laravel/app/.env","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06133","FUZZ":".DS_Store"},"position":307,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":20940542,"resultfile":"","url":"https://lyh-blogs.top/.DS_Store","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06134","FUZZ":".ds_store"},"position":308,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13129209,"resultfile":"","url":"https://lyh-blogs.top/.ds_store","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0614a","FUZZ":".env"},"position":330,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":15235042,"resultfile":"","url":"https://lyh-blogs.top/.env","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0614b","FUZZ":".env-example"},"position":331,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":16944042,"resultfile":"","url":"https://lyh-blogs.top/.env-example","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0614c","FUZZ":".env-sample"},"position":332,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":14993375,"resultfile":"","url":"https://lyh-blogs.top/.env-sample","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0614d","FUZZ":".env.backup"},"position":333,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":17742292,"resultfile":"","url":"https://lyh-blogs.top/.env.backup","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0614e","FUZZ":".env.dev"},"position":334,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":20013416,"resultfile":"","url":"https://lyh-blogs.top/.env.dev","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0614f","FUZZ":".env.dev.local"},"position":335,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":15702167,"resultfile":"","url":"https://lyh-blogs.top/.env.dev.local","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06150","FUZZ":".env.development.local"},"position":336,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":11530792,"resultfile":"","url":"https://lyh-blogs.top/.env.development.local","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06151","FUZZ":".env.development.sample"},"position":337,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":19357375,"resultfile":"","url":"https://lyh-blogs.top/.env.development.sample","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06152","FUZZ":".env.dist"},"position":338,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13676834,"resultfile":"","url":"https://lyh-blogs.top/.env.dist","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06153","FUZZ":".env.docker"},"position":339,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":17895334,"resultfile":"","url":"https://lyh-blogs.top/.env.docker","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06154","FUZZ":".env.docker.dev"},"position":340,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13912416,"resultfile":"","url":"https://lyh-blogs.top/.env.docker.dev","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06155","FUZZ":".env.example"},"position":341,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":17033041,"resultfile":"","url":"https://lyh-blogs.top/.env.example","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06156","FUZZ":".env.local"},"position":342,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":14568959,"resultfile":"","url":"https://lyh-blogs.top/.env.local","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06157","FUZZ":".env.php"},"position":343,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":15767000,"resultfile":"","url":"https://lyh-blogs.top/.env.php","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06158","FUZZ":".env.prod"},"position":344,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":14376459,"resultfile":"","url":"https://lyh-blogs.top/.env.prod","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06159","FUZZ":".env.prod.local"},"position":345,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":20238292,"resultfile":"","url":"https://lyh-blogs.top/.env.prod.local","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0615a","FUZZ":".env.production"},"position":346,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":11795417,"resultfile":"","url":"https://lyh-blogs.top/.env.production","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0615b","FUZZ":".env.production.local"},"position":347,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":20104291,"resultfile":"","url":"https://lyh-blogs.top/.env.production.local","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0615c","FUZZ":".env.sample"},"position":348,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":19220541,"resultfile":"","url":"https://lyh-blogs.top/.env.sample","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0615d","FUZZ":".env.sample.php"},"position":349,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":16537166,"resultfile":"","url":"https://lyh-blogs.top/.env.sample.php","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0615e","FUZZ":".env.save"},"position":350,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13072833,"resultfile":"","url":"https://lyh-blogs.top/.env.save","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0615f","FUZZ":".env.stage"},"position":351,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":17230167,"resultfile":"","url":"https://lyh-blogs.top/.env.stage","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06160","FUZZ":".env.test"},"position":352,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":17869375,"resultfile":"","url":"https://lyh-blogs.top/.env.test","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06161","FUZZ":".env.test.local"},"position":353,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":17702042,"resultfile":"","url":"https://lyh-blogs.top/.env.test.local","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06162","FUZZ":".env.test.sample"},"position":354,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":17892792,"resultfile":"","url":"https://lyh-blogs.top/.env.test.sample","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06163","FUZZ":".env.travis"},"position":355,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":12963833,"resultfile":"","url":"https://lyh-blogs.top/.env.travis","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06167","FUZZ":".env~"},"position":359,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":16317708,"resultfile":"","url":"https://lyh-blogs.top/.env~","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061bb","FUZZ":".git"},"position":443,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":15350125,"resultfile":"","url":"https://lyh-blogs.top/.git","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061bc","FUZZ":".git-credentials"},"position":444,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":12210875,"resultfile":"","url":"https://lyh-blogs.top/.git-credentials","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061bd","FUZZ":".git-rewrite/"},"position":445,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":15273250,"resultfile":"","url":"https://lyh-blogs.top/.git-rewrite/","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061be","FUZZ":".git.json"},"position":446,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13999542,"resultfile":"","url":"https://lyh-blogs.top/.git.json","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061bf","FUZZ":".git/"},"position":447,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":17782625,"resultfile":"","url":"https://lyh-blogs.top/.git/","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061c0","FUZZ":".git/branches/"},"position":448,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":12479833,"resultfile":"","url":"https://lyh-blogs.top/.git/branches/","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061c1","FUZZ":".git/COMMIT_EDITMSG"},"position":449,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":15606042,"resultfile":"","url":"https://lyh-blogs.top/.git/COMMIT_EDITMSG","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061c2","FUZZ":".git/config"},"position":450,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":15061792,"resultfile":"","url":"https://lyh-blogs.top/.git/config","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061c3","FUZZ":".git/description"},"position":451,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":17100583,"resultfile":"","url":"https://lyh-blogs.top/.git/description","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061c4","FUZZ":".git/FETCH_HEAD"},"position":452,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":12895708,"resultfile":"","url":"https://lyh-blogs.top/.git/FETCH_HEAD","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061c5","FUZZ":".git/HEAD"},"position":453,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":19208959,"resultfile":"","url":"https://lyh-blogs.top/.git/HEAD","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061c6","FUZZ":".git/head"},"position":454,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":9886666,"resultfile":"","url":"https://lyh-blogs.top/.git/head","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061c7","FUZZ":".git/hooks/"},"position":455,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13497042,"resultfile":"","url":"https://lyh-blogs.top/.git/hooks/","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061c8","FUZZ":".git/hooks/applypatch-msg"},"position":456,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":16141333,"resultfile":"","url":"https://lyh-blogs.top/.git/hooks/applypatch-msg","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061c9","FUZZ":".git/hooks/commit-msg"},"position":457,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":37472292,"resultfile":"","url":"https://lyh-blogs.top/.git/hooks/commit-msg","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061ca","FUZZ":".git/hooks/post-update"},"position":458,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":19891167,"resultfile":"","url":"https://lyh-blogs.top/.git/hooks/post-update","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061cb","FUZZ":".git/hooks/pre-applypatch"},"position":459,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":12811250,"resultfile":"","url":"https://lyh-blogs.top/.git/hooks/pre-applypatch","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061cc","FUZZ":".git/hooks/pre-commit"},"position":460,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":14071041,"resultfile":"","url":"https://lyh-blogs.top/.git/hooks/pre-commit","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061cd","FUZZ":".git/hooks/pre-push"},"position":461,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":17684917,"resultfile":"","url":"https://lyh-blogs.top/.git/hooks/pre-push","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061ce","FUZZ":".git/hooks/pre-rebase"},"position":462,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":17084042,"resultfile":"","url":"https://lyh-blogs.top/.git/hooks/pre-rebase","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061cf","FUZZ":".git/hooks/pre-receive"},"position":463,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":17288250,"resultfile":"","url":"https://lyh-blogs.top/.git/hooks/pre-receive","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061d0","FUZZ":".git/hooks/prepare-commit-msg"},"position":464,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":25450166,"resultfile":"","url":"https://lyh-blogs.top/.git/hooks/prepare-commit-msg","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061d1","FUZZ":".git/hooks/update"},"position":465,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":19537625,"resultfile":"","url":"https://lyh-blogs.top/.git/hooks/update","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061d2","FUZZ":".git/index"},"position":466,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":14372459,"resultfile":"","url":"https://lyh-blogs.top/.git/index","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061d3","FUZZ":".git/info/"},"position":467,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":14785959,"resultfile":"","url":"https://lyh-blogs.top/.git/info/","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061d4","FUZZ":".git/info/attributes"},"position":468,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13364500,"resultfile":"","url":"https://lyh-blogs.top/.git/info/attributes","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061d5","FUZZ":".git/info/exclude"},"position":469,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":11038750,"resultfile":"","url":"https://lyh-blogs.top/.git/info/exclude","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061d6","FUZZ":".git/info/refs"},"position":470,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":16543791,"resultfile":"","url":"https://lyh-blogs.top/.git/info/refs","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061d7","FUZZ":".git/logs/"},"position":471,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":21317833,"resultfile":"","url":"https://lyh-blogs.top/.git/logs/","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061d8","FUZZ":".git/logs/HEAD"},"position":472,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13210125,"resultfile":"","url":"https://lyh-blogs.top/.git/logs/HEAD","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061d9","FUZZ":".git/logs/head"},"position":473,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":22654250,"resultfile":"","url":"https://lyh-blogs.top/.git/logs/head","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061da","FUZZ":".git/logs/refs"},"position":474,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":16072083,"resultfile":"","url":"https://lyh-blogs.top/.git/logs/refs","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061db","FUZZ":".git/logs/refs/heads"},"position":475,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":18769667,"resultfile":"","url":"https://lyh-blogs.top/.git/logs/refs/heads","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061dc","FUZZ":".git/logs/refs/heads/master"},"position":476,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":34053459,"resultfile":"","url":"https://lyh-blogs.top/.git/logs/refs/heads/master","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061dd","FUZZ":".git/logs/refs/remotes"},"position":477,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":17509541,"resultfile":"","url":"https://lyh-blogs.top/.git/logs/refs/remotes","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061de","FUZZ":".git/logs/refs/remotes/origin"},"position":478,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":17699625,"resultfile":"","url":"https://lyh-blogs.top/.git/logs/refs/remotes/origin","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061df","FUZZ":".git/logs/refs/remotes/origin/HEAD"},"position":479,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13930750,"resultfile":"","url":"https://lyh-blogs.top/.git/logs/refs/remotes/origin/HEAD","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061e0","FUZZ":".git/logs/refs/remotes/origin/master"},"position":480,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":16504875,"resultfile":"","url":"https://lyh-blogs.top/.git/logs/refs/remotes/origin/master","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061e1","FUZZ":".git/objects/"},"position":481,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":26268417,"resultfile":"","url":"https://lyh-blogs.top/.git/objects/","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061e2","FUZZ":".git/objects/info/packs"},"position":482,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":12112583,"resultfile":"","url":"https://lyh-blogs.top/.git/objects/info/packs","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061e3","FUZZ":".git/packed-refs"},"position":483,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":16636958,"resultfile":"","url":"https://lyh-blogs.top/.git/packed-refs","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061e4","FUZZ":".git/refs/"},"position":484,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":27273417,"resultfile":"","url":"https://lyh-blogs.top/.git/refs/","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061e5","FUZZ":".git/refs/heads"},"position":485,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":14625167,"resultfile":"","url":"https://lyh-blogs.top/.git/refs/heads","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061e6","FUZZ":".git/refs/heads/master"},"position":486,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":12716333,"resultfile":"","url":"https://lyh-blogs.top/.git/refs/heads/master","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061e7","FUZZ":".git/refs/remotes"},"position":487,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":30007083,"resultfile":"","url":"https://lyh-blogs.top/.git/refs/remotes","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061e8","FUZZ":".git/refs/remotes/origin"},"position":488,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":12807625,"resultfile":"","url":"https://lyh-blogs.top/.git/refs/remotes/origin","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061e9","FUZZ":".git/refs/remotes/origin/HEAD"},"position":489,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":19474500,"resultfile":"","url":"https://lyh-blogs.top/.git/refs/remotes/origin/HEAD","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061ea","FUZZ":".git/refs/remotes/origin/master"},"position":490,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":20873125,"resultfile":"","url":"https://lyh-blogs.top/.git/refs/remotes/origin/master","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061eb","FUZZ":".git/refs/tags"},"position":491,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":16664791,"resultfile":"","url":"https://lyh-blogs.top/.git/refs/tags","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061ed","FUZZ":".git_release"},"position":493,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13486833,"resultfile":"","url":"https://lyh-blogs.top/.git_release","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061fe","FUZZ":".gitignore.swp"},"position":510,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13270667,"resultfile":"","url":"https://lyh-blogs.top/.gitignore.swp","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06207","FUZZ":".gitlab-ci/.env"},"position":519,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":15338625,"resultfile":"","url":"https://lyh-blogs.top/.gitlab-ci/.env","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06228","FUZZ":".hg"},"position":552,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":15403833,"resultfile":"","url":"https://lyh-blogs.top/.hg","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06229","FUZZ":".hg/"},"position":553,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":10905750,"resultfile":"","url":"https://lyh-blogs.top/.hg/","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0622a","FUZZ":".hg/branch"},"position":554,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":10003083,"resultfile":"","url":"https://lyh-blogs.top/.hg/branch","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0622b","FUZZ":".hg/dirstate"},"position":555,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":25049208,"resultfile":"","url":"https://lyh-blogs.top/.hg/dirstate","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0622c","FUZZ":".hg/hgrc"},"position":556,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13075333,"resultfile":"","url":"https://lyh-blogs.top/.hg/hgrc","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0622d","FUZZ":".hg/requires"},"position":557,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":16978750,"resultfile":"","url":"https://lyh-blogs.top/.hg/requires","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0622e","FUZZ":".hg/store/data/"},"position":558,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":15721625,"resultfile":"","url":"https://lyh-blogs.top/.hg/store/data/","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0622f","FUZZ":".hg/store/undo"},"position":559,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13187750,"resultfile":"","url":"https://lyh-blogs.top/.hg/store/undo","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06230","FUZZ":".hg/undo.dirstate"},"position":560,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":11991916,"resultfile":"","url":"https://lyh-blogs.top/.hg/undo.dirstate","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06242","FUZZ":".htaccess"},"position":578,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13771000,"resultfile":"","url":"https://lyh-blogs.top/.htaccess","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06243","FUZZ":".htaccess-dev"},"position":579,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":14553625,"resultfile":"","url":"https://lyh-blogs.top/.htaccess-dev","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06244","FUZZ":".htaccess-local"},"position":580,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":11663208,"resultfile":"","url":"https://lyh-blogs.top/.htaccess-local","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06245","FUZZ":".htaccess-marco"},"position":581,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":12686792,"resultfile":"","url":"https://lyh-blogs.top/.htaccess-marco","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06246","FUZZ":".htaccess.BAK"},"position":582,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":11200584,"resultfile":"","url":"https://lyh-blogs.top/.htaccess.BAK","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06247","FUZZ":".htaccess.bak"},"position":583,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":14320417,"resultfile":"","url":"https://lyh-blogs.top/.htaccess.bak","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06248","FUZZ":".htaccess.bak1"},"position":584,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":14392334,"resultfile":"","url":"https://lyh-blogs.top/.htaccess.bak1","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06249","FUZZ":".htaccess.inc"},"position":585,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":16816000,"resultfile":"","url":"https://lyh-blogs.top/.htaccess.inc","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0624a","FUZZ":".htaccess.old"},"position":586,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":20897166,"resultfile":"","url":"https://lyh-blogs.top/.htaccess.old","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0624b","FUZZ":".htaccess.orig"},"position":587,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":15012416,"resultfile":"","url":"https://lyh-blogs.top/.htaccess.orig","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0624c","FUZZ":".htaccess.sample"},"position":588,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":15041500,"resultfile":"","url":"https://lyh-blogs.top/.htaccess.sample","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0624d","FUZZ":".htaccess.save"},"position":589,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":20052667,"resultfile":"","url":"https://lyh-blogs.top/.htaccess.save","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0624f","FUZZ":".htaccess/"},"position":591,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":12841667,"resultfile":"","url":"https://lyh-blogs.top/.htaccess/","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06250","FUZZ":".htaccess_extra"},"position":592,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":10701458,"resultfile":"","url":"https://lyh-blogs.top/.htaccess_extra","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06251","FUZZ":".htaccess_orig"},"position":593,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":16243042,"resultfile":"","url":"https://lyh-blogs.top/.htaccess_orig","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06252","FUZZ":".htaccess_sc"},"position":594,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":14294416,"resultfile":"","url":"https://lyh-blogs.top/.htaccess_sc","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06256","FUZZ":".htaccess~"},"position":598,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":31855958,"resultfile":"","url":"https://lyh-blogs.top/.htaccess~","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0625b","FUZZ":".htpasswd"},"position":603,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13610375,"resultfile":"","url":"https://lyh-blogs.top/.htpasswd","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0625c","FUZZ":".htpasswd-old"},"position":604,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":15129916,"resultfile":"","url":"https://lyh-blogs.top/.htpasswd-old","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0625d","FUZZ":".htpasswd.bak"},"position":605,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":24698000,"resultfile":"","url":"https://lyh-blogs.top/.htpasswd.bak","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0625e","FUZZ":".htpasswd.inc"},"position":606,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":16575167,"resultfile":"","url":"https://lyh-blogs.top/.htpasswd.inc","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0625f","FUZZ":".htpasswd/"},"position":607,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":14493875,"resultfile":"","url":"https://lyh-blogs.top/.htpasswd/","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06260","FUZZ":".htpasswd_test"},"position":608,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":12680709,"resultfile":"","url":"https://lyh-blogs.top/.htpasswd_test","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0629c","FUZZ":".index.php.swp"},"position":668,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":20138500,"resultfile":"","url":"https://lyh-blogs.top/.index.php.swp","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a062d2","FUZZ":".keys.yml.swp"},"position":722,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":16916958,"resultfile":"","url":"https://lyh-blogs.top/.keys.yml.swp","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a062fb","FUZZ":".localsettings.php.swp"},"position":763,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":20114916,"resultfile":"","url":"https://lyh-blogs.top/.localsettings.php.swp","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06356","FUZZ":".npmrc"},"position":854,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":12781084,"resultfile":"","url":"https://lyh-blogs.top/.npmrc","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06435","FUZZ":".settings.php.swp"},"position":1077,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":39880916,"resultfile":"","url":"https://lyh-blogs.top/.settings.php.swp","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06460","FUZZ":".ssh/"},"position":1120,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":14214541,"resultfile":"","url":"https://lyh-blogs.top/.ssh/","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06461","FUZZ":".ssh/ansible_rsa"},"position":1121,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":20465875,"resultfile":"","url":"https://lyh-blogs.top/.ssh/ansible_rsa","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06462","FUZZ":".ssh/authorized_keys"},"position":1122,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13216875,"resultfile":"","url":"https://lyh-blogs.top/.ssh/authorized_keys","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06463","FUZZ":".ssh/config"},"position":1123,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":14460042,"resultfile":"","url":"https://lyh-blogs.top/.ssh/config","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06464","FUZZ":".ssh/google_compute_engine"},"position":1124,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":15027750,"resultfile":"","url":"https://lyh-blogs.top/.ssh/google_compute_engine","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06465","FUZZ":".ssh/google_compute_engine.pub"},"position":1125,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":11928125,"resultfile":"","url":"https://lyh-blogs.top/.ssh/google_compute_engine.pub","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06466","FUZZ":".ssh/id_dsa"},"position":1126,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13270416,"resultfile":"","url":"https://lyh-blogs.top/.ssh/id_dsa","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06467","FUZZ":".ssh/id_dsa.pub"},"position":1127,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":15346334,"resultfile":"","url":"https://lyh-blogs.top/.ssh/id_dsa.pub","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06468","FUZZ":".ssh/id_rsa"},"position":1128,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13542083,"resultfile":"","url":"https://lyh-blogs.top/.ssh/id_rsa","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06469","FUZZ":".ssh/id_rsa.key"},"position":1129,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":11876667,"resultfile":"","url":"https://lyh-blogs.top/.ssh/id_rsa.key","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0646a","FUZZ":".ssh/id_rsa.key~"},"position":1130,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":23307167,"resultfile":"","url":"https://lyh-blogs.top/.ssh/id_rsa.key~","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0646b","FUZZ":".ssh/id_rsa.priv"},"position":1131,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":19426250,"resultfile":"","url":"https://lyh-blogs.top/.ssh/id_rsa.priv","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0646c","FUZZ":".ssh/id_rsa.priv~"},"position":1132,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":67465833,"resultfile":"","url":"https://lyh-blogs.top/.ssh/id_rsa.priv~","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0646d","FUZZ":".ssh/id_rsa.pub"},"position":1133,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":25974959,"resultfile":"","url":"https://lyh-blogs.top/.ssh/id_rsa.pub","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0646e","FUZZ":".ssh/id_rsa.pub~"},"position":1134,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13912625,"resultfile":"","url":"https://lyh-blogs.top/.ssh/id_rsa.pub~","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0646f","FUZZ":".ssh/id_rsa~"},"position":1135,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":11780500,"resultfile":"","url":"https://lyh-blogs.top/.ssh/id_rsa~","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06471","FUZZ":".ssh/identity.pub"},"position":1137,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":17494250,"resultfile":"","url":"https://lyh-blogs.top/.ssh/identity.pub","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06470","FUZZ":".ssh/identity"},"position":1136,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":17535292,"resultfile":"","url":"https://lyh-blogs.top/.ssh/identity","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06472","FUZZ":".ssh/know_hosts"},"position":1138,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":16501125,"resultfile":"","url":"https://lyh-blogs.top/.ssh/know_hosts","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06473","FUZZ":".ssh/know_hosts~"},"position":1139,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":24267917,"resultfile":"","url":"https://lyh-blogs.top/.ssh/know_hosts~","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06474","FUZZ":".ssh/known_host"},"position":1140,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":16538541,"resultfile":"","url":"https://lyh-blogs.top/.ssh/known_host","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06475","FUZZ":".ssh/known_hosts"},"position":1141,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":12108167,"resultfile":"","url":"https://lyh-blogs.top/.ssh/known_hosts","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0648b","FUZZ":".svn"},"position":1163,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":19621417,"resultfile":"","url":"https://lyh-blogs.top/.svn","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0648c","FUZZ":".svn/"},"position":1164,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":10903750,"resultfile":"","url":"https://lyh-blogs.top/.svn/","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0648d","FUZZ":".svn/all-wcprops"},"position":1165,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":12110125,"resultfile":"","url":"https://lyh-blogs.top/.svn/all-wcprops","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0648e","FUZZ":".svn/entries"},"position":1166,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":14183916,"resultfile":"","url":"https://lyh-blogs.top/.svn/entries","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0648f","FUZZ":".svn/prop"},"position":1167,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13684750,"resultfile":"","url":"https://lyh-blogs.top/.svn/prop","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06490","FUZZ":".svn/text"},"position":1168,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":14323875,"resultfile":"","url":"https://lyh-blogs.top/.svn/text","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06491","FUZZ":".svn/text-base/"},"position":1169,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":12706875,"resultfile":"","url":"https://lyh-blogs.top/.svn/text-base/","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06492","FUZZ":".svn/text-base/index.php.svn-base"},"position":1170,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":15967125,"resultfile":"","url":"https://lyh-blogs.top/.svn/text-base/index.php.svn-base","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06493","FUZZ":".svn/wc.db"},"position":1171,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":15848875,"resultfile":"","url":"https://lyh-blogs.top/.svn/wc.db","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0649a","FUZZ":".swo"},"position":1178,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":12244125,"resultfile":"","url":"https://lyh-blogs.top/.swo","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0649b","FUZZ":".swp"},"position":1179,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":15835584,"resultfile":"","url":"https://lyh-blogs.top/.swp","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a064d4","FUZZ":".travis.yml.swp"},"position":1236,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":15307500,"resultfile":"","url":"https://lyh-blogs.top/.travis.yml.swp","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a064f2","FUZZ":".vscode/.env"},"position":1266,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":12179250,"resultfile":"","url":"https://lyh-blogs.top/.vscode/.env","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0652c","FUZZ":".wp-config.php.swp"},"position":1324,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":11351834,"resultfile":"","url":"https://lyh-blogs.top/.wp-config.php.swp","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0652d","FUZZ":".wp-config.swp"},"position":1325,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13520708,"resultfile":"","url":"https://lyh-blogs.top/.wp-config.swp","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0658a","FUZZ":"2"},"position":1418,"status":200,"length":0,"words":1,"lines":1,"content-type":"text/html","redirectlocation":"","scraper":{},"duration":12283042,"resultfile":"","url":"https://lyh-blogs.top/2","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06656","FUZZ":"3"},"position":1622,"status":200,"length":0,"words":1,"lines":1,"content-type":"text/html","redirectlocation":"","scraper":{},"duration":12009208,"resultfile":"","url":"https://lyh-blogs.top/3","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a066bb","FUZZ":"\\..\\..\\..\\..\\..\\..\\..\\..\\..\\etc\\passwd"},"position":1723,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":20488625,"resultfile":"","url":"https://lyh-blogs.top/\\..\\..\\..\\..\\..\\..\\..\\..\\..\\etc\\passwd","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0677e","FUZZ":"about"},"position":1918,"status":200,"length":0,"words":1,"lines":1,"content-type":"text/html","redirectlocation":"","scraper":{},"duration":12567541,"resultfile":"","url":"https://lyh-blogs.top/about","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a068d7","FUZZ":"admin/.htaccess"},"position":2263,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":17023125,"resultfile":"","url":"https://lyh-blogs.top/admin/.htaccess","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06aea","FUZZ":"administrator/.htaccess"},"position":2794,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":15740208,"resultfile":"","url":"https://lyh-blogs.top/administrator/.htaccess","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06bc3","FUZZ":"analytics/saw.dll?getPreviewImage\u0026previewFilePath=/etc/passwd"},"position":3011,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":24256167,"resultfile":"","url":"https://lyh-blogs.top/analytics/saw.dll?getPreviewImage\u0026previewFilePath=/etc/passwd","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06c34","FUZZ":"app/.htaccess"},"position":3124,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":17726000,"resultfile":"","url":"https://lyh-blogs.top/app/.htaccess","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06c91","FUZZ":"archive"},"position":3217,"status":200,"length":0,"words":1,"lines":1,"content-type":"text/html","redirectlocation":"","scraper":{},"duration":22103417,"resultfile":"","url":"https://lyh-blogs.top/archive","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06dd5","FUZZ":"bitrix/web.config"},"position":3541,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":33335917,"resultfile":"","url":"https://lyh-blogs.top/bitrix/web.config","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06f51","FUZZ":"cms/Web.config"},"position":3921,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":12374292,"resultfile":"","url":"https://lyh-blogs.top/cms/Web.config","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06f8c","FUZZ":"conf.php.swp"},"position":3980,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":12170542,"resultfile":"","url":"https://lyh-blogs.top/conf.php.swp","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06f8d","FUZZ":"conf.swp"},"position":3981,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":15095375,"resultfile":"","url":"https://lyh-blogs.top/conf.swp","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06fc2","FUZZ":"config.php.swp"},"position":4034,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":11302417,"resultfile":"","url":"https://lyh-blogs.top/config.php.swp","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06fcc","FUZZ":"config.swp"},"position":4044,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":11760209,"resultfile":"","url":"https://lyh-blogs.top/config.swp","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06ffe","FUZZ":"configuration.php.swp"},"position":4094,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":25016375,"resultfile":"","url":"https://lyh-blogs.top/configuration.php.swp","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061002","FUZZ":"configuration.swp"},"position":4098,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":18537500,"resultfile":"","url":"https://lyh-blogs.top/configuration.swp","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061259","FUZZ":"ehthumbs.db"},"position":4697,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":17278750,"resultfile":"","url":"https://lyh-blogs.top/ehthumbs.db","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0612d1","FUZZ":"etc/hosts"},"position":4817,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":15153875,"resultfile":"","url":"https://lyh-blogs.top/etc/hosts","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0612d3","FUZZ":"etc/passwd"},"position":4819,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":20632250,"resultfile":"","url":"https://lyh-blogs.top/etc/passwd","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0612ea","FUZZ":"examples/jsp/%252e%252e/%252e%252e/manager/html/"},"position":4842,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":17593125,"resultfile":"","url":"https://lyh-blogs.top/examples/jsp/%252e%252e/%252e%252e/manager/html/","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0613ee","FUZZ":"gallery"},"position":5102,"status":200,"length":0,"words":1,"lines":1,"content-type":"text/html","redirectlocation":"","scraper":{},"duration":28963250,"resultfile":"","url":"https://lyh-blogs.top/gallery","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06146e","FUZZ":"guestbook"},"position":5230,"status":200,"length":0,"words":1,"lines":1,"content-type":"text/html","redirectlocation":"","scraper":{},"duration":15945167,"resultfile":"","url":"https://lyh-blogs.top/guestbook","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06151d","FUZZ":"id_dsa"},"position":5405,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":35812125,"resultfile":"","url":"https://lyh-blogs.top/id_dsa","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06151e","FUZZ":"id_dsa.ppk"},"position":5406,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":22463417,"resultfile":"","url":"https://lyh-blogs.top/id_dsa.ppk","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06151f","FUZZ":"id_rsa"},"position":5407,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":22390875,"resultfile":"","url":"https://lyh-blogs.top/id_rsa","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061520","FUZZ":"id_rsa.pub"},"position":5408,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":14772458,"resultfile":"","url":"https://lyh-blogs.top/id_rsa.pub","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061591","FUZZ":"index.html"},"position":5521,"status":200,"length":0,"words":1,"lines":1,"content-type":"text/html","redirectlocation":"","scraper":{},"duration":12271458,"resultfile":"","url":"https://lyh-blogs.top/index.html","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061645","FUZZ":"javax.faces.resource.../"},"position":5701,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13846042,"resultfile":"","url":"https://lyh-blogs.top/javax.faces.resource.../","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061646","FUZZ":"javax.faces.resource.../WEB-INF/web.xml.jsf"},"position":5702,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":16533833,"resultfile":"","url":"https://lyh-blogs.top/javax.faces.resource.../WEB-INF/web.xml.jsf","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0616d1","FUZZ":"lang/web.config"},"position":5841,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":18127750,"resultfile":"","url":"https://lyh-blogs.top/lang/web.config","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061760","FUZZ":"localsettings.php.swp"},"position":5984,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13221583,"resultfile":"","url":"https://lyh-blogs.top/localsettings.php.swp","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061815","FUZZ":"mailer/.env"},"position":6165,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":17118875,"resultfile":"","url":"https://lyh-blogs.top/mailer/.env","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061942","FUZZ":"modules/web.config"},"position":6466,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":22465792,"resultfile":"","url":"https://lyh-blogs.top/modules/web.config","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061c9a","FUZZ":"plugins/web.config"},"position":7322,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":14708250,"resultfile":"","url":"https://lyh-blogs.top/plugins/web.config","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061dd5","FUZZ":"remote/fgt_lang?lang=/../../../../////////////////////////bin/sslvpnd"},"position":7637,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":13403625,"resultfile":"","url":"https://lyh-blogs.top/remote/fgt_lang?lang=/../../../../////////////////////////bin/sslvpnd","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061dd6","FUZZ":"remote/fgt_lang?lang=/../../../..//////////dev/cmdb/sslvpn_websession"},"position":7638,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":10098875,"resultfile":"","url":"https://lyh-blogs.top/remote/fgt_lang?lang=/../../../..//////////dev/cmdb/sslvpn_websession","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061e22","FUZZ":"robots.txt"},"position":7714,"status":200,"length":0,"words":1,"lines":1,"content-type":"text/plain","redirectlocation":"","scraper":{},"duration":13412708,"resultfile":"","url":"https://lyh-blogs.top/robots.txt","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061e2e","FUZZ":"rss"},"position":7726,"status":200,"length":0,"words":1,"lines":1,"content-type":"text/html","redirectlocation":"","scraper":{},"duration":19703625,"resultfile":"","url":"https://lyh-blogs.top/rss","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061e7e","FUZZ":"search"},"position":7806,"status":200,"length":0,"words":1,"lines":1,"content-type":"text/html","redirectlocation":"","scraper":{},"duration":13907542,"resultfile":"","url":"https://lyh-blogs.top/search","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a061f0b","FUZZ":"settings.php.swp"},"position":7947,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":34290167,"resultfile":"","url":"https://lyh-blogs.top/settings.php.swp","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0621b9","FUZZ":"text-base/etc/passwd"},"position":8633,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":12174250,"resultfile":"","url":"https://lyh-blogs.top/text-base/etc/passwd","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0621cc","FUZZ":"Thumbs.db"},"position":8652,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":12044750,"resultfile":"","url":"https://lyh-blogs.top/Thumbs.db","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0621cd","FUZZ":"thumbs.db"},"position":8653,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":11646125,"resultfile":"","url":"https://lyh-blogs.top/thumbs.db","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06223b","FUZZ":"twitter/.env"},"position":8763,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":11661667,"resultfile":"","url":"https://lyh-blogs.top/twitter/.env","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a062326","FUZZ":"var/log/"},"position":8998,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":12368916,"resultfile":"","url":"https://lyh-blogs.top/var/log/","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a062327","FUZZ":"var/log/authorizenet.log"},"position":8999,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":10688292,"resultfile":"","url":"https://lyh-blogs.top/var/log/authorizenet.log","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a062328","FUZZ":"var/log/exception.log"},"position":9000,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":10222791,"resultfile":"","url":"https://lyh-blogs.top/var/log/exception.log","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a062329","FUZZ":"var/log/librepag.log"},"position":9001,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":18306292,"resultfile":"","url":"https://lyh-blogs.top/var/log/librepag.log","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06232a","FUZZ":"var/log/old"},"position":9002,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":11019458,"resultfile":"","url":"https://lyh-blogs.top/var/log/old","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06232b","FUZZ":"var/log/payment.log"},"position":9003,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":20453041,"resultfile":"","url":"https://lyh-blogs.top/var/log/payment.log","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06232c","FUZZ":"var/log/payment_authorizenet.log"},"position":9004,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":12764959,"resultfile":"","url":"https://lyh-blogs.top/var/log/payment_authorizenet.log","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06232d","FUZZ":"var/log/payment_paypal_express.log"},"position":9005,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":11462875,"resultfile":"","url":"https://lyh-blogs.top/var/log/payment_paypal_express.log","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a062389","FUZZ":"wavemaker/studioService.download?method=getContent\u0026inUrl=file///etc/passwd"},"position":9097,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":10604792,"resultfile":"","url":"https://lyh-blogs.top/wavemaker/studioService.download?method=getContent\u0026inUrl=file///etc/passwd","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a062428","FUZZ":"web.config"},"position":9256,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":20509959,"resultfile":"","url":"https://lyh-blogs.top/web.config","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a062429","FUZZ":"web.config.bak"},"position":9257,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":24158959,"resultfile":"","url":"https://lyh-blogs.top/web.config.bak","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06242a","FUZZ":"web.config.bakup"},"position":9258,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":11838250,"resultfile":"","url":"https://lyh-blogs.top/web.config.bakup","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06242b","FUZZ":"web.config.old"},"position":9259,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":19266209,"resultfile":"","url":"https://lyh-blogs.top/web.config.old","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06242c","FUZZ":"web.config.temp"},"position":9260,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":11722458,"resultfile":"","url":"https://lyh-blogs.top/web.config.temp","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06242d","FUZZ":"web.config.tmp"},"position":9261,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":17289917,"resultfile":"","url":"https://lyh-blogs.top/web.config.tmp","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a06242f","FUZZ":"web.config::$DATA"},"position":9263,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":14322167,"resultfile":"","url":"https://lyh-blogs.top/web.config::$DATA","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0624d2","FUZZ":"wp-config.php.swo"},"position":9426,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":16589000,"resultfile":"","url":"https://lyh-blogs.top/wp-config.php.swo","host":"lyh-blogs.top"},{"input":{"FFUFHASH":"e2a0624d3","FUZZ":"wp-config.php.swp"},"position":9427,"status":403,"length":0,"words":1,"lines":1,"content-type":"text/html; charset=utf-8","redirectlocation":"","scraper":{},"duration":20755041,"resultfile":"","url":"https://lyh-blogs.top/wp-config.php.swp","host":"lyh-blogs.top"}],"config":{"auditlog":"","autocalibration":false,"autocalibration_keyword":"FUZZ","autocalibration_perhost":false,"autocalibration_strategies":["basic"],"autocalibration_strings":[],"colors":false,"cmdline":"/Users/liyuhang/tools/bin/ffuf -u https://lyh-blogs.top/FUZZ -w /Users/liyuhang/.local/share/uv/tools/dirsearch/lib/python3.14/site-packages/dirsearch/db/dicc.txt -X HEAD -mc 200,301,302,401,403 -rate 60 -t 10 -timeout 15 -s -of json -o ffuf-blog.json","configfile":"","postdata":"","debuglog":"","delay":{"value":"0.00"},"dirsearch_compatibility":false,"encoders":[],"extensions":[],"fmode":"or","follow_redirects":false,"headers":{},"ignorebody":false,"ignore_wordlist_comments":false,"inputmode":"clusterbomb","cmd_inputnum":100,"inputproviders":[{"name":"wordlist","keyword":"FUZZ","value":"/Users/liyuhang/.local/share/uv/tools/dirsearch/lib/python3.14/site-packages/dirsearch/db/dicc.txt","encoders":"","template":""}],"inputshell":"","json":false,"matchers":{"IsCalibrated":false,"Matchers":{"status":{"value":"200,301,302,401,403"}},"Filters":{},"PerDomainFilters":{}},"mmode":"or","maxtime":0,"maxtime_job":0,"method":"HEAD","noninteractive":false,"outputdirectory":"","outputfile":"ffuf-blog.json","outputformat":"json","OutputSkipEmptyFile":false,"proxyurl":"","quiet":true,"rate":60,"raw":false,"recursion":false,"recursion_depth":0,"recursion_strategy":"default","replayproxyurl":"","requestfile":"","requestproto":"https","scraperfile":"","scrapers":"all","sni":"","stop_403":false,"stop_all":false,"stop_errors":false,"threads":10,"timeout":15,"url":"https://lyh-blogs.top/FUZZ","verbose":false,"wordlists":["/Users/liyuhang/.local/share/uv/tools/dirsearch/lib/python3.14/site-packages/dirsearch/db/dicc.txt"],"http2":false,"client-cert":"","client-key":"","preflights":[],"postflights":[],"preflight_mode":"per-request","preflight_error":"abort"}}

输出:verify.json,每条一个对象,含 url、scan_status、now_status、content_length、changed。

[
{
"url": "https://lyh-blogs.top/.aws/",
"input": ".aws/",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.aws/config",
"input": ".aws/config",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.aws/credentials",
"input": ".aws/credentials",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.bzr/",
"input": ".bzr/",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.bzr/branch-format",
"input": ".bzr/branch-format",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.bzr/README",
"input": ".bzr/README",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.c9/metadata/environment/.env",
"input": ".c9/metadata/environment/.env",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.config.inc.php.swp",
"input": ".config.inc.php.swp",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/.config.php.swp",
"input": ".config.php.swp",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/.configuration.php.swp",
"input": ".configuration.php.swp",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/.docker/.env",
"input": ".docker/.env",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.docker/laravel/app/.env",
"input": ".docker/laravel/app/.env",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.DS_Store",
"input": ".DS_Store",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/.ds_store",
"input": ".ds_store",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/.env",
"input": ".env",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env-example",
"input": ".env-example",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env-sample",
"input": ".env-sample",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env.backup",
"input": ".env.backup",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env.dev",
"input": ".env.dev",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env.dev.local",
"input": ".env.dev.local",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env.development.local",
"input": ".env.development.local",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env.development.sample",
"input": ".env.development.sample",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env.dist",
"input": ".env.dist",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env.docker",
"input": ".env.docker",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env.docker.dev",
"input": ".env.docker.dev",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env.example",
"input": ".env.example",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env.local",
"input": ".env.local",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env.php",
"input": ".env.php",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env.prod",
"input": ".env.prod",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env.prod.local",
"input": ".env.prod.local",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env.production",
"input": ".env.production",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env.production.local",
"input": ".env.production.local",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env.sample",
"input": ".env.sample",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env.sample.php",
"input": ".env.sample.php",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env.save",
"input": ".env.save",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env.stage",
"input": ".env.stage",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env.test",
"input": ".env.test",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env.test.local",
"input": ".env.test.local",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env.test.sample",
"input": ".env.test.sample",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env.travis",
"input": ".env.travis",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.env~",
"input": ".env~",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git",
"input": ".git",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git-credentials",
"input": ".git-credentials",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git-rewrite/",
"input": ".git-rewrite/",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git.json",
"input": ".git.json",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/",
"input": ".git/",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/branches/",
"input": ".git/branches/",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/COMMIT_EDITMSG",
"input": ".git/COMMIT_EDITMSG",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/config",
"input": ".git/config",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/description",
"input": ".git/description",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/FETCH_HEAD",
"input": ".git/FETCH_HEAD",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/HEAD",
"input": ".git/HEAD",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/head",
"input": ".git/head",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/hooks/",
"input": ".git/hooks/",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/hooks/applypatch-msg",
"input": ".git/hooks/applypatch-msg",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/hooks/commit-msg",
"input": ".git/hooks/commit-msg",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/hooks/post-update",
"input": ".git/hooks/post-update",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/hooks/pre-applypatch",
"input": ".git/hooks/pre-applypatch",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/hooks/pre-commit",
"input": ".git/hooks/pre-commit",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/hooks/pre-push",
"input": ".git/hooks/pre-push",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/hooks/pre-rebase",
"input": ".git/hooks/pre-rebase",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/hooks/pre-receive",
"input": ".git/hooks/pre-receive",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/hooks/prepare-commit-msg",
"input": ".git/hooks/prepare-commit-msg",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/hooks/update",
"input": ".git/hooks/update",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/index",
"input": ".git/index",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/info/",
"input": ".git/info/",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/info/attributes",
"input": ".git/info/attributes",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/info/exclude",
"input": ".git/info/exclude",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/info/refs",
"input": ".git/info/refs",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/logs/",
"input": ".git/logs/",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/logs/HEAD",
"input": ".git/logs/HEAD",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/logs/head",
"input": ".git/logs/head",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/logs/refs",
"input": ".git/logs/refs",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/logs/refs/heads",
"input": ".git/logs/refs/heads",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/logs/refs/heads/master",
"input": ".git/logs/refs/heads/master",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/logs/refs/remotes",
"input": ".git/logs/refs/remotes",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/logs/refs/remotes/origin",
"input": ".git/logs/refs/remotes/origin",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/logs/refs/remotes/origin/HEAD",
"input": ".git/logs/refs/remotes/origin/HEAD",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/logs/refs/remotes/origin/master",
"input": ".git/logs/refs/remotes/origin/master",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/objects/",
"input": ".git/objects/",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/objects/info/packs",
"input": ".git/objects/info/packs",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/packed-refs",
"input": ".git/packed-refs",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/refs/",
"input": ".git/refs/",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/refs/heads",
"input": ".git/refs/heads",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/refs/heads/master",
"input": ".git/refs/heads/master",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/refs/remotes",
"input": ".git/refs/remotes",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/refs/remotes/origin",
"input": ".git/refs/remotes/origin",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/refs/remotes/origin/HEAD",
"input": ".git/refs/remotes/origin/HEAD",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/refs/remotes/origin/master",
"input": ".git/refs/remotes/origin/master",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git/refs/tags",
"input": ".git/refs/tags",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.git_release",
"input": ".git_release",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.gitignore.swp",
"input": ".gitignore.swp",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/.gitlab-ci/.env",
"input": ".gitlab-ci/.env",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.hg",
"input": ".hg",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.hg/",
"input": ".hg/",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.hg/branch",
"input": ".hg/branch",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.hg/dirstate",
"input": ".hg/dirstate",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.hg/hgrc",
"input": ".hg/hgrc",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.hg/requires",
"input": ".hg/requires",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.hg/store/data/",
"input": ".hg/store/data/",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.hg/store/undo",
"input": ".hg/store/undo",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.hg/undo.dirstate",
"input": ".hg/undo.dirstate",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.htaccess",
"input": ".htaccess",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.htaccess-dev",
"input": ".htaccess-dev",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.htaccess-local",
"input": ".htaccess-local",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.htaccess-marco",
"input": ".htaccess-marco",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.htaccess.BAK",
"input": ".htaccess.BAK",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.htaccess.bak",
"input": ".htaccess.bak",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.htaccess.bak1",
"input": ".htaccess.bak1",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.htaccess.inc",
"input": ".htaccess.inc",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.htaccess.old",
"input": ".htaccess.old",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.htaccess.orig",
"input": ".htaccess.orig",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.htaccess.sample",
"input": ".htaccess.sample",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.htaccess.save",
"input": ".htaccess.save",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.htaccess/",
"input": ".htaccess/",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.htaccess_extra",
"input": ".htaccess_extra",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.htaccess_orig",
"input": ".htaccess_orig",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.htaccess_sc",
"input": ".htaccess_sc",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.htaccess~",
"input": ".htaccess~",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.htpasswd",
"input": ".htpasswd",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.htpasswd-old",
"input": ".htpasswd-old",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.htpasswd.bak",
"input": ".htpasswd.bak",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.htpasswd.inc",
"input": ".htpasswd.inc",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.htpasswd/",
"input": ".htpasswd/",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.htpasswd_test",
"input": ".htpasswd_test",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.index.php.swp",
"input": ".index.php.swp",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/.keys.yml.swp",
"input": ".keys.yml.swp",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/.localsettings.php.swp",
"input": ".localsettings.php.swp",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/.npmrc",
"input": ".npmrc",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.settings.php.swp",
"input": ".settings.php.swp",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/.ssh/",
"input": ".ssh/",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.ssh/ansible_rsa",
"input": ".ssh/ansible_rsa",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.ssh/authorized_keys",
"input": ".ssh/authorized_keys",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.ssh/config",
"input": ".ssh/config",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.ssh/google_compute_engine",
"input": ".ssh/google_compute_engine",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.ssh/google_compute_engine.pub",
"input": ".ssh/google_compute_engine.pub",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.ssh/id_dsa",
"input": ".ssh/id_dsa",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.ssh/id_dsa.pub",
"input": ".ssh/id_dsa.pub",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.ssh/id_rsa",
"input": ".ssh/id_rsa",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.ssh/id_rsa.key",
"input": ".ssh/id_rsa.key",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.ssh/id_rsa.key~",
"input": ".ssh/id_rsa.key~",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.ssh/id_rsa.priv",
"input": ".ssh/id_rsa.priv",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.ssh/id_rsa.priv~",
"input": ".ssh/id_rsa.priv~",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.ssh/id_rsa.pub",
"input": ".ssh/id_rsa.pub",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.ssh/id_rsa.pub~",
"input": ".ssh/id_rsa.pub~",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.ssh/id_rsa~",
"input": ".ssh/id_rsa~",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.ssh/identity.pub",
"input": ".ssh/identity.pub",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.ssh/identity",
"input": ".ssh/identity",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.ssh/know_hosts",
"input": ".ssh/know_hosts",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.ssh/know_hosts~",
"input": ".ssh/know_hosts~",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.ssh/known_host",
"input": ".ssh/known_host",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.ssh/known_hosts",
"input": ".ssh/known_hosts",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.svn",
"input": ".svn",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.svn/",
"input": ".svn/",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.svn/all-wcprops",
"input": ".svn/all-wcprops",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.svn/entries",
"input": ".svn/entries",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.svn/prop",
"input": ".svn/prop",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.svn/text",
"input": ".svn/text",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.svn/text-base/",
"input": ".svn/text-base/",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.svn/text-base/index.php.svn-base",
"input": ".svn/text-base/index.php.svn-base",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.svn/wc.db",
"input": ".svn/wc.db",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.swo",
"input": ".swo",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/.swp",
"input": ".swp",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/.travis.yml.swp",
"input": ".travis.yml.swp",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/.vscode/.env",
"input": ".vscode/.env",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/.wp-config.php.swp",
"input": ".wp-config.php.swp",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/.wp-config.swp",
"input": ".wp-config.swp",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/2",
"input": "2",
"scan_status": 200,
"now_status": 200,
"content_length": "403459",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/3",
"input": "3",
"scan_status": 200,
"now_status": 200,
"content_length": "396189",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/\\..\\..\\..\\..\\..\\..\\..\\..\\..\\etc\\passwd",
"input": "\\..\\..\\..\\..\\..\\..\\..\\..\\..\\etc\\passwd",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/about",
"input": "about",
"scan_status": 200,
"now_status": 200,
"content_length": "353500",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/admin/.htaccess",
"input": "admin/.htaccess",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/administrator/.htaccess",
"input": "administrator/.htaccess",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/analytics/saw.dll?getPreviewImage&previewFilePath=/etc/passwd",
"input": "analytics/saw.dll?getPreviewImage&previewFilePath=/etc/passwd",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/app/.htaccess",
"input": "app/.htaccess",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/archive",
"input": "archive",
"scan_status": 200,
"now_status": 200,
"content_length": "374264",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/bitrix/web.config",
"input": "bitrix/web.config",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/cms/Web.config",
"input": "cms/Web.config",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/conf.php.swp",
"input": "conf.php.swp",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/conf.swp",
"input": "conf.swp",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/config.php.swp",
"input": "config.php.swp",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/config.swp",
"input": "config.swp",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/configuration.php.swp",
"input": "configuration.php.swp",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/configuration.swp",
"input": "configuration.swp",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/ehthumbs.db",
"input": "ehthumbs.db",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/etc/hosts",
"input": "etc/hosts",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/etc/passwd",
"input": "etc/passwd",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/examples/jsp/%252e%252e/%252e%252e/manager/html/",
"input": "examples/jsp/%252e%252e/%252e%252e/manager/html/",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/gallery",
"input": "gallery",
"scan_status": 200,
"now_status": 200,
"content_length": "289",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/guestbook",
"input": "guestbook",
"scan_status": 200,
"now_status": 200,
"content_length": "291",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/id_dsa",
"input": "id_dsa",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/id_dsa.ppk",
"input": "id_dsa.ppk",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/id_rsa",
"input": "id_rsa",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/id_rsa.pub",
"input": "id_rsa.pub",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/index.html",
"input": "index.html",
"scan_status": 200,
"now_status": 200,
"content_length": "406367",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/javax.faces.resource.../",
"input": "javax.faces.resource.../",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/javax.faces.resource.../WEB-INF/web.xml.jsf",
"input": "javax.faces.resource.../WEB-INF/web.xml.jsf",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/lang/web.config",
"input": "lang/web.config",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/localsettings.php.swp",
"input": "localsettings.php.swp",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/mailer/.env",
"input": "mailer/.env",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/modules/web.config",
"input": "modules/web.config",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/plugins/web.config",
"input": "plugins/web.config",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/remote/fgt_lang?lang=/../../../../////////////////////////bin/sslvpnd",
"input": "remote/fgt_lang?lang=/../../../../////////////////////////bin/sslvpnd",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/remote/fgt_lang?lang=/../../../..//////////dev/cmdb/sslvpn_websession",
"input": "remote/fgt_lang?lang=/../../../..//////////dev/cmdb/sslvpn_websession",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/robots.txt",
"input": "robots.txt",
"scan_status": 200,
"now_status": 200,
"content_length": "82",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/rss",
"input": "rss",
"scan_status": 200,
"now_status": 200,
"content_length": "355519",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/search",
"input": "search",
"scan_status": 200,
"now_status": 200,
"content_length": "350560",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/settings.php.swp",
"input": "settings.php.swp",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/text-base/etc/passwd",
"input": "text-base/etc/passwd",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/Thumbs.db",
"input": "Thumbs.db",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/thumbs.db",
"input": "thumbs.db",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/twitter/.env",
"input": "twitter/.env",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/var/log/",
"input": "var/log/",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/var/log/authorizenet.log",
"input": "var/log/authorizenet.log",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/var/log/exception.log",
"input": "var/log/exception.log",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/var/log/librepag.log",
"input": "var/log/librepag.log",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/var/log/old",
"input": "var/log/old",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/var/log/payment.log",
"input": "var/log/payment.log",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/var/log/payment_authorizenet.log",
"input": "var/log/payment_authorizenet.log",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/var/log/payment_paypal_express.log",
"input": "var/log/payment_paypal_express.log",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/wavemaker/studioService.download?method=getContent&inUrl=file///etc/passwd",
"input": "wavemaker/studioService.download?method=getContent&inUrl=file///etc/passwd",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/web.config",
"input": "web.config",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/web.config.bak",
"input": "web.config.bak",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/web.config.bakup",
"input": "web.config.bakup",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/web.config.old",
"input": "web.config.old",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/web.config.temp",
"input": "web.config.temp",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/web.config.tmp",
"input": "web.config.tmp",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/web.config::$DATA",
"input": "web.config::$DATA",
"scan_status": 403,
"now_status": 403,
"content_length": "542",
"changed": "same"
},
{
"url": "https://lyh-blogs.top/wp-config.php.swo",
"input": "wp-config.php.swo",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
},
{
"url": "https://lyh-blogs.top/wp-config.php.swp",
"input": "wp-config.php.swp",
"scan_status": 403,
"now_status": 404,
"content_length": "350723",
"changed": "CHANGED"
}
]
Terminal window
python3 verify_hits.py ffuf-blog.json --delay 0.25 --out verify.json
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
复测脚本:把扫描器报出来的每一条命中,用低速率单独再打一次,区分
「真命中」和「扫描压力下的假命中」。
用法:
python3 verify_hits.py ffuf-blog.json --delay 0.2 --out verify.json
为什么需要它:
扫描器在 40~60 req/s 的压力下,目标站点的限速/防护模块可能临时返回
403/429/302。这些响应会被当成"命中"写进结果,冷却后就消失了。
批量复测(单条、带间隔)是区分二者的唯一可靠办法。
"""
import argparse
import json
import ssl
import sys
import time
import urllib.request
from collections import Counter
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
# 显式禁用环境变量里的代理,避免请求走到本地代理上
opener = urllib.request.build_opener(
urllib.request.ProxyHandler({}),
urllib.request.HTTPSHandler(context=ctx),
)
def probe(url, method="HEAD", timeout=10):
"""发一次请求,返回 (状态码, Content-Length)。异常返回 (None, 错误信息)。"""
req = urllib.request.Request(url, method=method)
req.add_header("User-Agent", "Mozilla/5.0 (verify_hits)")
try:
with opener.open(req, timeout=timeout) as r:
return r.status, r.headers.get("Content-Length")
except urllib.error.HTTPError as e:
return e.code, e.headers.get("Content-Length")
except Exception as e:
return None, type(e).__name__
def main():
ap = argparse.ArgumentParser()
ap.add_argument("result_json", help="ffuf 的 -of json 输出文件")
ap.add_argument("--delay", type=float, default=0.2, help="每次请求间隔秒数(默认 0.2)")
ap.add_argument("--out", default="verify.json", help="复测结果输出文件")
ap.add_argument("--field", default="FUZZ", help="ffuf 结果里取哪个 input 字段")
args = ap.parse_args()
data = json.load(open(args.result_json, encoding="utf-8"))
hits = data.get("results", [])
rows = []
print(f"复测 {len(hits)} 条,间隔 {args.delay}s —— 约需 {len(hits) * args.delay / 60:.1f} 分钟\n")
for i, r in enumerate(hits, 1):
url = r["url"]
scan_status = r["status"]
now_status, clen = probe(url)
changed = "CHANGED" if now_status != scan_status else "same"
rows.append({
"url": url,
"input": r.get("input", {}).get(args.field, ""),
"scan_status": scan_status,
"now_status": now_status,
"content_length": clen,
"changed": changed,
})
if changed != "same":
print(f"[{i:>3}/{len(hits)}] {scan_status} -> {now_status} {url}")
time.sleep(args.delay)
json.dump(rows, open(args.out, "w", encoding="utf-8"), ensure_ascii=False, indent=2)
print("\n=== 汇总 ===")
print("扫描时的状态码分布:", Counter(r["scan_status"] for r in rows).most_common())
print("复测时的状态码分布:", Counter(r["now_status"] for r in rows).most_common())
flaky = [r for r in rows if r["changed"] != "same"]
print(f"状态发生变化的条目: {len(flaky)} 条(这些就是扫描压力下的假命中)")
real = [r for r in rows if r["now_status"] == 200]
print(f"复测仍为 200 的真实路径: {len(real)} 条")
for r in sorted(real, key=lambda x: x["url"]):
print(" 200", r["url"], f"(Content-Length={r['content_length']})")
print(f"\n明细已写入 {args.out}")
if __name__ == "__main__":
sys.exit(main())

对脚本进行讲解#

开头三块:docstring、导入、SSL 与代理#
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
opener = urllib.request.build_opener(
urllib.request.ProxyHandler({}),
urllib.request.HTTPSHandler(context=ctx),
)

SSL 部分:默认上下文会校验证书链和主机名,遇到自签证书、过期证书、或者域名和证书不匹配的目标,直接抛异常。把 check_hostname 关掉、verify_mode 设成 CERT_NONE,就跳过所有校验。

代价要说清楚:这时候连接没有中间人防护,只适合自己测试用。

代理部分(重点):

urllib 默认会读环境变量 HTTP_PROXY / HTTPS_PROXY / http_proxy / https_proxy,有就走代理。你机器上设了本地代理的话,复测请求会全部绕一圈代理出去。

绕代理的后果不是”慢一点”这么简单:

  • 代理可能自己对请求做限速或改写,你测的就不是目标的行为
  • 代理日志里全是你的扫描流量
  • 某些代理会改写响应头,Content-Length 就对不上了

ProxyHandler({}) 的机制:ProxyHandler 接收一个”协议 → 代理地址”的映射表,构造时它会遍历这个表,为每个协议注册一个处理器。传空字典,等于”没有任何协议需要代理”,于是所有请求直连。

注意必须是 {} 而不是 None。ProxyHandler() 或 ProxyHandler(None) 会走默认逻辑,也就是读环境变量——反而没禁用。

build_opener(...) 把多个处理器组合成一个 opener。之后所有请求都走 opener.open(),不再用 urllib.request.urlopen()——后者用的是全局默认 opener,管不到自定义的处理器。

probe():urllib 最大的坑#
def probe(url, method="HEAD", timeout=10):
req = urllib.request.Request(url, method=method)
req.add_header("User-Agent", "Mozilla/5.0 (verify_hits)")
try:
with opener.open(req, timeout=timeout) as r:
return r.status, r.headers.get("Content-Length")
except urllib.error.HTTPError as e:
return e.code, e.headers.get("Content-Length")
except Exception as e:
return None, type(e).__name__

这里有一个和直觉完全相反的设计:

在 requests 里,requests.get() 遇到 404 也是正常返回,r.status_code 就是 404。但在 urllib 里,4xx 和 5xx 会抛 urllib.error.HTTPError 异常。

也就是说,不写 except HTTPError,脚本碰到的第一条 404 就会崩溃退出。这个差异坑过无数人。

HTTPError 虽然是异常,但它同时也是一个响应对象,所以有 .code 和 .headers,能拿到状态码和长度。这一点很多人不知道,以为异常里没有信息。

三个分支的分工:

  • 正常返回(2xx/3xx)→ 从 r 上取状态码和长度
  • HTTPError(4xx/5xx)→ 从异常对象上取,这是”有意义的失败”
  • 其他异常(超时、连接重置、DNS 失败、SSL 错误)→ 返回 (None, 异常类名),用 None 表示”根本没拿到 HTTP 响应”,和真实的 404 区分开

type(e).__name__ 只取异常类名(比如 TimeoutError),不取完整消息,避免终端被长错误串刷屏。

with ... as r: 用上下文管理器,退出时自动关闭连接。批量请求不关连接会耗尽文件描述符。

main() 的四个参数#
ap = argparse.ArgumentParser()
ap.add_argument("result_json", help="ffuf 的 -of json 输出文件")
ap.add_argument("--delay", type=float, default=0.2, ...)
ap.add_argument("--out", default="verify.json", ...)
ap.add_argument("--field", default="FUZZ", ...)
args = ap.parse_args()
  • 不带 -- 的是位置参数,必填,按顺序对应。
  • 带 -- 的是可选参数,有默认值。
  • type=float 会自动把字符串 "0.25" 转成浮点数。不写 type,args.delay 就是字符串,time.sleep("0.25") 会报类型错误。
  • --field 是为了适配不同的 ffuf 用法:默认取 input.FUZZ,如果你用的占位符不叫 FUZZ(比如 FUZZ2),改这个参数就行。

argparse 还自动带 -h/--help,把 help= 的文字整理成帮助信息。这是比手写 sys.argv 解析更值得养成的习惯。

主循环#
for i, r in enumerate(hits, 1):
url = r["url"]
scan_status = r["status"]
now_status, clen = probe(url)
changed = "CHANGED" if now_status != scan_status else "same"
rows.append({
"url": url,
"input": r.get("input", {}).get(args.field, ""),
...
})
if changed != "same":
print(f"[{i:>3}/{len(hits)}] {scan_status} -> {now_status} {url}")
time.sleep(args.delay)

几个点:

enumerate(hits, 1) —— 同时拿到序号和元素,1 表示序号从 1 开始(默认从 0)。用于打印 [ 12/230] 这样的进度。

r["status"] 和 r.get("input", {}) 的差别 —— status 是 ffuf 每条结果必有的字段,用 [] 直接取;input 在某些情况下可能不存在,所以用 .get("input", {}) 先拿到字典(不存在就给空字典),再 .get(args.field, "") 取具体键。连续两次 .get 是”安全取嵌套字段”的标准写法,直接 r["input"]["FUZZ"] 在字段缺失时会抛 KeyError。

f"{i:>3}" —— 格式化占位:> 右对齐,3 是最小宽度。作用是让 [ 1/230] 和 [230/230] 竖直对齐,进度好看。

只打印 CHANGED —— 230 条里 198 条没变,全打出来会把重点淹没。这条”只在异常时输出”的原则,在批量脚本里很关键。

time.sleep 放在循环末尾 —— 放在开头会让第一次请求前也等一次;放末尾则是”每次请求之后歇一下”,语义更准。0.25 秒 ≈ 4 req/s,远低于扫描时的 60 req/s,这样才能复现真实状态。

落盘与汇总#
json.dump(rows, open(args.out, "w", encoding="utf-8"), ensure_ascii=False, indent=2)
print("扫描时的状态码分布:", Counter(r["scan_status"] for r in rows).most_common())
flaky = [r for r in rows if r["changed"] != "same"]
real = [r for r in rows if r["now_status"] == 200]
for r in sorted(real, key=lambda x: x["url"]):
  • ensure_ascii=False:默认 True 会把中文写成 \u4e2d\u6587,人能读但没法看。关掉之后中文原样写出。
  • indent=2:缩进两格,方便人工翻。
  • Counter(生成器).most_common():先统计每个状态码出现次数,再按次数降序返回列表。读扫描结果的第一步永远是看状态码分布,比例异常的那个码就是线索。
  • [r for r in rows if ...]:列表推导,按条件筛。
  • sorted(real, key=lambda x: x["url"]):按 URL 字符串排序,key 指定”用哪个值排序”。lambda 是一个匿名函数,这里等价于”取字典的 url 字段”。
真实输出怎么读#
[ 92/230] 403 -> 404 https://lyh-blogs.top/.gitignore.swp
[126/230] 403 -> 404 https://lyh-blogs.top/.index.php.swp
...
=== 汇总 ===
扫描时的状态码分布: [(403, 220), (200, 10)]
复测时的状态码分布: [(403, 188), (404, 32), (200, 10)]
状态发生变化的条目: 32 条(这些就是扫描压力下的假命中)
复测仍为 200 的真实路径: 10 条

读法:

  • 403 -> 404:扫描时以为”存在但被拒”,实际不存在。这是假命中。
  • 汇总里 220 → 188 + 32:220 条 403 分成”真的 188”和”假的 32”。
  • 复测仍为 200 才是真正需要人工看的条目。
  • 注意”403 保持 403”不能证明文件存在,只能证明有规则在拒绝这个路径。要判断是”文件存在”还是”黑名单匹配”,得换关键词试(比如把 .env 换成 .envv,如果还是 403 就是黑名单)。
三个常见改造#

改成 GET:把 method="HEAD" 改成 "GET"。代价是要收完整 body,目标 404 页很大的话会很慢(博客那次 350KB/条)。

加自定义 header:在 probe() 里 req.add_header("Cookie", "...")。适合复测需要登录态的路径。

加速:用 concurrent.futures.ThreadPoolExecutor 并发。但要注意,并发本身就会引入限速,反而可能制造新的假命中——这就是为什么原版故意做成串行。

容易卡住的三个点#
  1. 不加 except HTTPError,第一条 404 就崩(这是 urllib 和直觉最大的冲突)。
  2. --delay 设成 0,复测和扫描一样快,假命中照样出现,等于没测。
  3. 目标如果在复测期间把你 IP 封了,所有条目都会返回 403 或超时,看起来”全都变了”。所以复测前先手动 curl 一条确认站点正常。

230 条,1 分 11 秒跑完。输出:

扫描时的状态码分布: [(403, 220), (200, 10)]
复测时的状态码分布: [(403, 188), (404, 32), (200, 10)]
状态发生变化的条目: 32 条(这些就是扫描压力下的假命中)
复测仍为 200 的真实路径: 10 条

结论:

  • 32 条是假的,冷却后变回 404。/Thumbs.db、/config.php.swp、/.DS_Store 全在这一批里。
  • 188 条是真的,稳定返回 403。

那 188 条按特征归类:

  • 152 条是点开头的隐藏文件(.env、.git、.aws、.svn、.htaccess)
  • 12 条是 web.config 系列(含 .bak/.old/.tmp/::$DATA 变体)
  • 8 条是 var/log/ 下的日志路径
  • 5 条是 etc/passwd / etc/hosts 探测
  • 4 条是 id_rsa / id_dsa 私钥探测
  • 3 条是 .htaccess

规律很清楚:命中的都是”敏感文件名黑名单”,不是真实存在的文件。nginx 对这个名单一律回 403,而不是 404,其实是暴露了”我配了这份名单”——但代价可以忽略,加固本身是对的。

这一步的方法论:扫描器给的每一条命中都要单独复测。批量扫描的结果属于”线索”,不属于”证据”。


dirsearch 对照#

同样的字典,换 dirsearch 跑一遍对照:

Terminal window
dirsearch -u https://lyh-blogs.top/ \
-w ~/.local/share/uv/tools/dirsearch/lib/python3.14/site-packages/dirsearch/db/dicc.txt \
-m HEAD \
-i 200,301,302,401 \
-t 10 --max-rate 40 --timeout 15 --random-agent \
-o dirsearch-blog.txt -O plain

输出dirsearch-blog.txt

# Dirsearch started at 2026-10-17 17:10:31 as: /Users/liyuhang/.local/bin/dirsearch -u https://lyh-blogs.top/ -w /Users/liyuhang/.local/share/uv/tools/dirsearch/lib/python3.14/site-packages/dirsearch/db/dicc.txt -m HEAD -i 200,301,302,401 -t 10 --max-rate 40 --timeout 15 --random-agent -o dirsearch-blog.txt -O plain
200 394KB https://lyh-blogs.top/2 (24ms)
200 387KB https://lyh-blogs.top/3 (76ms)
200 343KB https://lyh-blogs.top/404.html (17ms)
200 345KB https://lyh-blogs.top/about (21ms)
200 365KB https://lyh-blogs.top/archive (20ms)
200 289B https://lyh-blogs.top/gallery (20ms)
200 291B https://lyh-blogs.top/guestbook (20ms)
200 397KB https://lyh-blogs.top/index.html (22ms)
200 82B https://lyh-blogs.top/robots.txt (71ms)
200 347KB https://lyh-blogs.top/rss (31ms)
200 342KB https://lyh-blogs.top/search (37ms)

参数说明:

  • -m HEAD:指定方法,默认是 GET。
  • -i 200,301,302,401:状态码白名单。这里故意不包含 403,因为已经知道那 188 条是规则噪音。
  • -x:黑名单,-i 是白名单,二选一。
  • -O plain:输出格式。老版本叫 --format=plain,新版是 -O。
  • --max-rate 40:限速。

另外两个坑:

  • dirsearch 会自动加后缀。字典 9681 行,它加载成 12296 条,因为它默认给每个词都试一遍 php/asp/aspx/jsp/html/htm。不想要就显式指定 -e。
  • 同样是 HEAD,长度字段含义不同。dirsearch 显示的是 Content-Length(从响应头读),ffuf 显示的是实际收到的 body 长度。所以 ffuf 全是 0,dirsearch 能显示 394KB。

结果:

200 394KB https://lyh-blogs.top/2
200 387KB https://lyh-blogs.top/3
200 343KB https://lyh-blogs.top/404.html
200 345KB https://lyh-blogs.top/about
200 365KB https://lyh-blogs.top/archive
200 289B https://lyh-blogs.top/gallery
200 291B https://lyh-blogs.top/guestbook
200 397KB https://lyh-blogs.top/index.html
200 82B https://lyh-blogs.top/robots.txt
200 347KB https://lyh-blogs.top/rss
200 342KB https://lyh-blogs.top/search

11 条,和 ffuf 的 10 条基本一致,多了个 /404.html(Astro 的 404 页面被构建成了静态文件)。两个工具互相印证,说明这次扫描没有漏报。


结论#

10 条真实路径,逐条看:

  • / 和 /index.html:首页,同一份文件两种访问方式
  • /2、/3:分页,说明文章列表有分页
  • /about、/archive、/gallery、/guestbook、/search、/rss:正常的页面导航
  • robots.txt:82 字节,就是上面看的那份

注意到 /gallery 只有 289 字节、/guestbook 只有 291 字节——不是完整页面,是占位或空壳页。这类”200 但没内容”的响应,在扫描结果里要单独拎出来看,不能算作”发现了功能”。

安全角度的结论:

  • 没有 *.bak、*.zip、.git/、config.php 之类的东西泄露
  • 敏感文件名统一 403,规则生效
  • 404 返回真 404,没有暴露目录结构
  • 唯一可优化点:403 而不是 404,会让扫描者知道”你配了黑名单”。想更隐蔽可以改成 return 404

参数速查#

ffuf 常用:

  • -u 目标 URL,FUZZ 是占位符
  • -w 字典,-X 方法
  • -mc 保留状态码,-fc 排除状态码
  • -fs 按响应长度过滤(软 404 时用)
  • -mr 按响应内容正则匹配
  • -ac 自动校准(自动探测软 404 特征)
  • -rate 全局限速,-t 并发,-timeout 超时
  • -H 加 header,-b 加 cookie
  • -of json -o 结构化输出,-s 静默

dirsearch 常用:

  • -u 目标,-w 字典,-e 后缀列表
  • -m HTTP 方法
  • -i 状态码白名单,-x 黑名单
  • -t 线程,--max-rate 限速
  • -r 递归,--recursion-status 允许递归的状态码
  • -o 输出文件,-O 输出格式
  • --random-agent 随机 UA

一些必须知道的坑#

  1. 不摸 404 行为就开扫。软 404 的站点会让你得到几千条假 200。
  2. 不算带宽就开扫。本例 9681 条 × 350KB ≈ 3.4 GB,会把自己的站打死。先用 HEAD。
  3. 把 403 当成”文件存在”。本例 220 条 403 里 32 条是限速噪音,188 条是黑名单,没有一条是真实文件。
  4. 不清代理环境变量。请求会走本地代理,速度慢、日志脏、还可能被上游限速。
  5. 不存结构化输出。只有终端输出就没法统计、没法复测、没法对比两次扫描。

下次怎么用(清单)#

扫自己站点的固定流程:

  • 看 robots.txt 和 sitemap,先拿”招供”的路径
  • 随机两条不存在路径,确认 404 行为(真 404 / 软 404 / 通配 200)
  • 量一下 404 页大小,决定要不要用 HEAD
  • 清代理变量,-rate 设 30~60,-t 设 10
  • 跑 ffuf,-of json 存档
  • 用脚本统计状态码分布,先看比例异常的那个码
  • 对每一条命中单独复测(verify_hits.py),剔掉不可复现的
  • 用 dirsearch 换一套字典和参数交叉验证
  • 最后人工打开那几条 200,判断是”真页面”还是”空壳”

一句话总结:扫描器只负责产生线索,可信度要靠复测、交叉验证和人工判断来建立。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Profile Image of the Author
LYH
LYH,安全方向的在校学生。方向集中在 Web 安全和密码学——Web 这边从 webshell 识别、文件包含到注入类题目都在练,密码学在啃 RSA 和格密码相关的内容,逆向和网络也有涉猎。日常工具链是 Mac + Docker。欢迎交流学习!
公告
欢迎来到我的博客!这里展示我的学习过程与结果。
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
站点统计
文章
52
分类
20
标签
32
总字数
311,598
运行时长
0 天
最后活动
0 天前

文章目录