大多数漏洞猎人会忽略那些看起来已被锁定或不活跃的域名。而本文分享的案例,恰恰是反其道而行之,通过层层递进的测试,最终发现了一个严重的漏洞。
第一印象:“网站无法访问”

没有用户界面,没有链接,没有任何功能。乍一看,这个域名完全无法访问,可以直接忽略。然而,这种限制通常仅限于前端,后端的基础设施可能仍在运行。
技术指纹探测

通过基础的技术栈分析,确定了后端的环境构成:
- IIS 10.0
- ASP.NET
- ColdFusion (CFML)
- Windows Server
传统的 Windows + ColdFusion 技术堆栈,往往是遗留系统或疏于维护的迹象,这反而激发了进一步探索的兴趣。
初始测试:短名称枚举
考虑到 IIS + ColdFusion 的架构,我首先尝试了 IIS 短名称(8.3格式)枚举。然而测试并未发现任何有用的信息泄露。虽然没有直接结果,但一个简单的随机路径测试target.com/aaa却带来了转机。

服务器返回了一个标准的 IIS 404 错误页面。这看似平常,却是第一个关键信号:该域名虽然前端受限,但底层的 Web 服务仍在运行并响应请求,意味着可能存在未被锁定的后端接口。
转折点:利用网络档案馆重建目标

我转而利用网络档案馆资源,列举了与该域名关联的历史 URL。这一举措成为了调查的转折点。在历史记录中,我找到了一个 JavaScript 文件 的引用,并从中提取出三个后端端点。
其中一个端点链接立刻脱颖而出,代码片段显示它向/websnips/getItemImages.cfm发起请求。

测试 ColdFusion 端点
/websnips/getItemImages.cfm 这个端点仍然可以访问,并返回了包含图片路径的 JSON 数据。虽然它本身没有暴露敏感信息,但它明确证实了以下几点:
/websnips/ 目录真实存在。
- ColdFusion 后端服务可达。
- 遗留的业务逻辑代码仍在活跃运行。
这使得 /websnips/ 目录成为进行深度模糊测试的理想目标。
目录模糊测试揭示隐藏端点

通过目录模糊测试,我很快发现了另一个关键端点:/websnips/vstats.cfm。直接访问该页面返回了 HTTP 500 内部服务器错误,并附带了一个 ColdFusion 的错误提示页面。
错误信息清晰地显示:
key [NAME] doesn't exist

这立刻表明,该端点需要一个名为 name 的查询参数。这正是参数注入测试的绝佳入口。
参数注入触发数据库错误
我尝试补全了缺失的参数:/websnips/vstats.cfm?name=aaa。这一次,响应的错误类型发生了变化,从应用层错误升级为了 数据库错误:
Invalid column name ‘aaa’

更严重的是,应用程序在错误信息中泄露了正在执行的 完整 SQL 查询语句。这已经是基于错误的 SQL 注入的典型特征,对于从事 安全研究 的测试者而言,这是一个强烈的可进一步利用的信号。
最终确认:基于错误的 SQL 注入
为了最终验证漏洞的严重性和可利用性,我构造并测试了一个经典的基于错误的 SQL 注入Payload:
/websnips/vstats.cfm?name=CAST((SELECT @@version) AS INT)

数据库响应了转换错误,并直接将完整的 数据库 版本信息泄露了出来。 这确凿无疑地证实了:目标存在一个完全可利用的基于错误的 SQL 注入漏洞。
总结与思考
这个案例清晰地展示了一次完整的攻击链:从看似“死寂”的目标开始,通过技术栈分析、路径探测、历史信息搜集、目录枚举,到参数发现并最终触发和验证 SQL 注入漏洞。它提醒我们,在渗透测试或安全评估中,不应轻易放过任何表面无效的资产,尤其是那些运行着老旧技术栈的系统,它们往往因为疏于维护而隐藏着深层次的致命漏洞。这类实战经验与更深入的探讨,也可以在 云栈社区 的技术交流版块中找到。