[特殊字符]通用漏洞挖掘(黑盒篇)| 从一个登录框SQL注入,到拿下CNVD证书 0x00 这篇文章能给你什么黑盒测试中如何发现 SQL 注入手工 思路万能密码 ≠ 全部但有了它一定有问题如何从“事件型漏洞”升级为“通用型漏洞”利用JS 指纹在 FOFA 上批量找同款系统CNVD 证书的获取思路含注册资金门槛全程干货建议收藏 反复看 0x01 黑盒测试一个登录框引发的注入在某次授权渗透中遇到这样一个登录页面用户名输入框密码输入框手工测试过程正常请求POST /login HTTP/1.1 Host: target.com usernameadminpassword123456加一个单引号usernameadminpassword123456返回异常报错或页面空白加两个单引号usernameadminpassword123456恢复正常 ✅有区别 → 存在 SQL 注入的可能性极大⚠️ 小贴士密码处注入的可能性相对较小因为密码通常会经过加密数据库存的是密文。但如果数据库存的是明文密码密码处同样可能存在注入。 0x02 判断数据库类型 万能密码根据网站架构 经验猜测是MSSQL。测试user是否为dbousernameadmin and user_name()dbo--返回正常 → 确认是 dbo 权限。//小提一嘴关于两个‘or’的用法万能密码验证用户名admin-- 密码任意直接登录成功 ✅另一个 payload用户名任意 密码555 or aa同样绕过 ✅注有万能密码 → 一定有 SQL 注入有 SQL 注入 → 不一定有万能密码大部分情况下这个点到这里就结束了。但我们要思维发散—— 0x03 通用漏洞挖掘从 1 个站到 N 个站什么是通用型 vs 事件型根据补天平台定义类型定义通用型适用于大量站点类似 0day第三方软件/应用/系统的漏洞事件型仅对当前站点有效参考补天帮助文档问题来了怎么找到同款系统常用的方法图标 hashFavicon Hash页面关键字如“技术支持xx单位”URL 特征Web 指纹识别Wappalyzer、WhatWebJS 文件特征⭐本次重点 0x04 JS 指纹批量定位同款系统这个目标站点页面本身没啥明显特征于是去看网页源代码。发现一个特殊的 JS 文件路径/Coyyy/js/core/knocxxxxxxxx-2.2.1.js直接在 FOFA 里搜索js_name/Coyyy/js/core/knocxxxxxxxx-2.2.1.js结果 大量站点使用了相同的 JS 文件页面结构几乎一模一样随便点开几个测试 →都存在相同的 SQL 注入漏洞通用漏洞到手 0x05 进阶CNVD 证书怎么拿通用漏洞的价值远大于事件型漏洞。如果能满足以下条件就有机会拿到CNVD 原创漏洞证书漏洞是通用型影响多个厂商/站点该产品的开发公司注册资金 5000 万人民币漏洞等级足够中危及以上 小建议可以主动去搜国内 500 强公司的产品挖掘他们的通用漏洞运气好的话同一个系统可以挖出多个漏洞一鱼多吃 0x06 总结阶段关键动作发现注入单引号差异法、万能密码验证判断数据库函数测试如 user_name()定位同款JS 文件指纹、页面关键字、Favicon Hash批量验证FOFA / ZoomEye 搜索同特征资产冲击证书通用型 5000w 注册资金 CNVD 提交 最后挖洞不只是为了交报告从事件型走向通用型才是技术人的浪漫。如果这篇文章对你有帮助点赞 收藏 ⭐ 评论 支持一下也欢迎交流你挖到通用漏洞的经历安全路上一起成长。下期见