1. 问题诊断:为什么你的wpscan突然“罢工”了?
最近在给客户的WordPress站点做安全审计,我习惯性地打开终端,敲下 wpscan --update,准备先更新一下漏洞库。结果,熟悉的进度条没出现,屏幕上却弹出了一行刺眼的错误:
Scan Aborted: Unable to get https://data.wpscan.org/metadata.json.sha512 (Couldn‘t resolve host name)
“无法解析主机名”。得,工具直接“罢工”了。我相信很多朋友都遇到过这个情况,尤其是在一些特定的网络环境下,或者使用某些云服务器的时候。这个错误的核心,其实不在于wpscan本身坏了,而是它“回家”的路被堵上了。wpscan作为一个强大的WordPress安全扫描器,它的威力很大程度上依赖于一个持续更新的漏洞数据库。这个数据库托管在 data.wpscan.org 这个域名下。每次你执行更新命令,它都会去这个地址拉取一个叫做 metadata.json.sha512 的文件。这个文件你可以理解为一个“目录”或“索引”,里面记录了最新数据库文件的校验信息和下载地址。
所以,当出现“Couldn‘t resolve host name”时,就意味着你的机器根本无法通过DNS找到 data.wpscan.org 这个服务器。可能的原因有几个:一是你的网络环境确实无法访问这个境外地址(这是最常见的情况);二是临时的DNS解析故障;三是目标服务器本身暂时不可用。对于绝大多数国内的用户和开发者来说,第一个原因占了99%。直接访问这个域名,大概率会超时或者连接被重置。
这时候,很多新手可能会反复重试,或者去折腾系统代理设置,甚至怀疑是不是自己的wpscan安装出了问题。我一开始也折腾过一阵子代理,但发现配置起来很麻烦,而且不稳定。后来我想,既然问题是出在“访问远程服务器”上,那最根本、最一劳永逸的解决办法,不就是把“远程”变成“本地”吗?让wpscan从我们自己的电脑或者内网服务器上更新数据,不就彻底绕开网络限制了吗?这个思路,就是“本地化更新”方案的核心。它不需要你拥有特殊的网络权限,只需要一点点动手能力,就能让wpscan重新“活”过来,而且以后的更新速度会比从国外拉取快得多。
2. 方案核心:搭建你的专属本地漏洞库服务器
既然决定了要走本地化路线,那我们就需要准备两样东西:一是漏洞数据库的离线数据包,二是一个能提供这些数据访问的本地Web服务器。听起来有点复杂?别担心,我带你一步步来,其实就跟搭个简单的静态网站差不多。
首先,是获取数据包。官方数据源访问不了,但好在开源社区总有热心人。我们可以在一些代码托管平台找到热心开发者同步好的数据包。这里需要特别注意:务必从可信的、知名的开源仓库获取,避免下载到被篡改或包含恶意代码的数据。我通常使用的一个可靠来源是 GitHub 上由社区维护的镜像仓库。例如,你可以搜索 “WPScan Database” 或 “WPScan Data” 这类

577

被折叠的 条评论
为什么被折叠?



