SRC漏洞挖掘--CNVD国家信息安全漏洞共享平台
目录
0x00 简介
SRC漏洞平台:安全应急响应中心(SRC, Security Response Center),是企业用于对外接收来自用户发现并报告的产品安全漏洞的站点。说白了,就是连接白帽子和企业的平台,你去合法提交漏洞给他们,他们给你赏金。 目前国内有两种平台,一种是漏洞报告平台,另一种就是企业SRC。这里也给大家强调一下,一定不要非法挖洞,要注意挖洞尺度和目标要有授权!做一个遵纪守法的好公民!
由于特殊原因本人需每周提交部分漏洞到CNVD国家安全漏洞共享平台,最近发现站点不接收小企业漏洞,提交的也均未被审核通过,经过一番询问得知,目前CNVD接受政府、医疗、学校以及部分集团和国企等SRC漏洞,这无疑为我们挖洞增加了不小难度。
下面是我目前的挖洞思路:
- 寻找挖洞目标
- 使用趁手的挖洞工具
- 挖洞时间
- 漏洞验证
- 提交漏洞
0x01 过程中使用的工具
本文牵涉到的知识领域和使用的工具主要有:
- python的基本使用
- 漏洞扫描工具的使用
- 漏洞验证能力
- 网络空间测绘平台、企查查、爱企查
- 长亭的xray漏洞扫描工具
- 360的动态爬虫工具crawlergo
- SRC漏洞提交平台
本文使用的脚本主要有(python脚本):
- fofa API调用脚本
- 目标URL存活验证脚本
- xray和crawlergo联动脚本
注意: 博主为Mac系统,过程期间提供的脚本如有window用户需稍稍进行修改,博主在代码中也会提示
0x02 详细过程
一、 寻找挖洞目标
1.1 工具介绍
- 网络空间测绘平台:fofa、奇安信网络空间测绘Hunter、360网络空间测绘Quake(需要有会员);
- API脚本;
- 企查查、爱企查(需要有会员)。
1.2 目标检索过程
本次我们以fofa为例批量检索需要的目标地址,使用fofa语法检索目标,然后通过API脚本下载对应数据。
事先组织好查询语法,本次我们以域名的方式进行检索,对域名为".gov.cn"地区为中国状态码为200进行检索,可以发现有很多资产,因为会员限制我们每天只提取1万个目标,所以还需要继续优化使用的检索语法:
host=".gov.cn" && country="CN" && status_code="200"
通过对地区细分可以再次对数据进行筛选,可以发现大多数地区在3万以内,这样就可以可以分批进行检索下载了:
host=".gov.cn" && country="CN" && status_code="200" && region="Beijing"
然后通过fofa API进行数据提取,过程中需要使用python脚本对fofa API数据提取代码如下(运行代码前需要提前知道fofa的邮箱和api_key在个人中心进行查看):
# 申明:此工具仅供学习使用,不负有相关法律责任
# window用户和Linux用户均可直接使用,无需进行修改
import base64
import csv
import requests
# 查询函数
def Inquire(email, api_key, gammer):
qbase64 = base64.b64encode(gammer.encode()).decode()
api = 'https://fofa.info/api/v1/search/all?email={}&key={}&qbase64={}&size=10000'.format(email, api_key, qbase64)
print("正在请求页面查询{}".format(gammer))
response = requests.get(api)
data_result = response.json()["results"]
count = len(data_result)
print("总共可获取数量为{}条数据n".format(count))
# print(data_result)
count_range = GetNumber()
write_file(gammer, data_result, count_range)
# 下载次数函数
def GetNumber():
count_range = input('请输入获取数据的数量(最大限制10000条):')
# count_range = 10000 #若使用批量查询,默认下载数可以直接设置
return int(count_range)
# 写入函数
def write_file(gammer, data, count_range):
filename = gammer + '.csv'
with open(filename, 'a', newline="") as f:
writer = csv.writer(f)
writer.writerow(["URL", "IP地址", "访问端口号"])
for result in data:
list_data = [result[0].strip(), result[1].strip(), result[2].strip()]
writer.writerow(list_data)
count_range -= 1
if count_range == 0:
break
# 交互界面
def GUI_Communication():
print("nt FOFA——API接口工具n")
email = input('Email:')
api_key = input('api_key:')
num = int(input('是否为单量查询(是1/否0):'))
if num == 1:
gammer = input('查询语法:')
Inquire(email, api_key, gammer)
elif num == 0:
with open("gammers.txt", 'r') as f:
for gammer_data in f.readlines():
gammer = gammer_data.replace('n', '')
Inquire(email, api_key, gammer)
else:
print("只能输入0或1!")
if __name__ == '__main__':
GUI_Communication()
脚本运行后输入正确的邮箱和api_key,将上面组织好的语法进行输入,填写下载数量对数据下载,会在脚本目录生成一个以语法命令的表格文档,打开就是我们需要的目标地址;
接下来需要对目标存活性进行验证,并输出为格式化URL:http://ip或域名:端口,方便进行漏洞挖掘,本次我们依然使用python脚本进行存活验证,需要提前将表格里的url保存到文本中每行一个目标URL,放置在该代码相同文件夹即可,脚本运行完后会在同级目录生成url_ok.txt文件,该文件为最终目标URL,脚本如下:
# 申明:此工具仅供学习使用,不负有相关法律责任
# windows用户需将代码中的./url.txt的./去掉即可
import requests
def foo():
for url in open("./url.txt"):
url = url.strip()
if 'http' in url or 'https' in url:
url1 = url
url2 = None
else:
url1 = f'http://{url}'
url2 = f'https://{url}'
try:
ok = requests.get(url1, timeout=(5, 8))
if ok.status_code == 200:
print(url1, ok.status_code)
with open("./url_ok.txt", 'a+') as url_ok:
url_ok.write(url1 + "n")
url_ok.close()
else:
ok_1 = requests.get(url2, timeout=(5, 8))
if ok_1.status_code == 200:
print(url2, ok_1.status_code)
with open("./url_ok.txt", 'a+') as url_ok:
url_ok.write(url2 + "n")
url_ok.close()
else:
print(url2, ok.status_code)
except:
try:
ok2 = requests.get(url2, timeout=(5, 8))
if ok2.status_code == 200:
print(url2, ok2.status_code)
with open("./url_ok.txt", 'a+') as url_ok:
url_ok.write(url1 + "n")
url_ok.close()
else:
print(url2, ok2.status_code)
except:
print(f"{url2} URL无效")
if __name__ == "__main__":
foo()
二、 趁手的挖洞工具
工具其实有很多,自己使用顺手就可以。
2.1 工具介绍
- xray:一款由是从长亭洞鉴核心引擎中提取出的社区版漏洞扫描神器;
- 360-crawlergo:有360安全团队开发一个使用chrome headless模式进行URL入口收集的动态爬虫工具。
- xray和360-crawlergo联动脚本
本次我们使用xray和crawlergo进行联动,对刚刚整理的目标进行漏洞挖掘,具体使用也可以参考xray官方教程,也可以跟着博主思路进行使用;
2.2 工具下载链接
xray:直接访问官网进行下载,github版本更新不及时,建议直接通过官网下载:
360-crawlergo:
联动脚本:
2.3 工具使用
下载适合自己操作系统类型的工具(博主为Mac arm64,下载darwin_arm64版本),然后统一放置在一个文件夹中:
将下载的crawlergo和xray放置在联动脚本程序,然后将联动脚本程序的crawlergo和xray文件夹删除,注意需要修改crawlergo_darwin_arm64文件名为crawlergo,修改主程序launcher.py和launcher_new.py部分代码,主要是chrome路径改为本地路径,博主chrome浏览器位置为:/Applications/Google Chrome.app/Contents/MacOS/Google Chrome,将如下代码更改即可:
放置在同一文件夹;
修改主程序launcher.py和launcher_new.py浏览器文件目录,两个文件修改位置基本一致,建议使用主程序launcher.py该程序有爬取回显;
将第一步获取的目标放置在targets.txt文件中,注意需要逐行隔开,然后本地开始使用xray监听127.0.0.1:7777,脚本编写默认监听7777端口,联动本质为通过脚本将crawlergo爬去的目标数据发送给正在监听的xray,然后实现目标的漏洞检查;
目标放置给targets.txt文件;
启动xray监听 ,监听命令不理解的可以去xray官网查询;
./xray_darwin_arm64 webscan --listen 127.0.0.1:7777 --html-output proxy.html
启动联动主程序爬取目标,等待片刻,可以发现爬虫已经爬取好数据通过本地回环7777端口发送给xray,接下来只需要安静的等待输出报告即可;
三、挖洞时间
关于挖洞时间这个就不确定了,还待看运气,不过由于大家都在挖SRC所以现在就不太容易挖掘了,建议睡觉前电脑跑着,或者直接整个虚拟机一直运行。
四、漏洞验证
漏洞验证也是我们从事web安全必须掌握的技能,这个其实很简单,不懂就问,度娘总会给你满意答案,不过也有小技巧,报告里面一般都会给相应的验证脚本和验证思路,大家直接根据报告进行验证一般都没有问题。
五、提交漏洞
提交SRC漏洞平台有很多,本人主要还是在CNVD国家信息安全漏洞共享平台进行提交,当然也有其他的很多平台,下面我列出一部分,可以供大家参考,应该算是比较详细了。
A
阿里巴巴 (ASRC)
https://security.alibaba.com/
阿里云先知
https://xianzhi.aliyun.com/
爱奇艺 (71SRC)
https://security.iqiyi.com/
安恒
https://security.dbappsecurity.com.cn/
B
BIGO (BSRC)
https://security.bigo.sg/
BOSS直聘 (BSSRC)
https://src.zhipin.com/
百度 (BSRC)
https://bsrc.baidu.com/
百合 (BHSRC)
https://src.baihe.com/
贝贝 (BBSRC)
https://src.beibei.com.cn/
贝壳 (BKSRC)
https://security.ke.com/
本木医疗 (BMSRC)
https://security.benmu-health.com/src/
哔哩哔哩 (BILISRC)
https://security.bilibili.com/
C
菜鸟网络 (CNSRC)
https://sec.cainiao.com/
D
DHgate (DHSRC)
http://dhsrc.dhgate.com/
大疆 (DJISRC)
https://security.dji.com/
滴滴出行 (DSRC)
https://sec.didichuxing.com/
东方财富 (EMSRC)
https://security.eastmoney.com/
斗米 (DMSRC)
https://security.doumi.com/
斗鱼 (DYSRC)
https://security.douyu.com/
度小满 (DXMSRC)
https://security.duxiaoman.com/
F
法大大 (FSRC)
https://sec.fadada.com/
富友 (FSRC)
https://fsrc.fuiou.com/
G
瓜子 (GZSRC)
https://security.guazi.com/
H
好未来 (100TALSRC)
https://src.100tal.com/
合合 (ISRC)
https://security.intsig.com/
恒昌 (HCSRC)
http://src.credithc.com/
虎牙 (HSRC)
https://src.huya.com/
华为 (HBP)
https://bugbounty.huawei.com/
华住 (HSRC)
https://sec.huazhu.com/
欢聚时代 (YSRC)
https://security.yy.com/
货拉拉 (LLSRC)
https://llsrc.huolala.cn/
火线
https://www.huoxian.cn/project/detail?pid ref
J
焦点 (FSRC)
https://security.focuschina.com/
金山办公 (WPSSRC)
https://security.wps.cn/
金山云 (KYSRC)
https://kysrc.vulbox.com/
京东 (JSRC)
https://security.jd.com/
竞技世界 (JJSRC)
https://security.jj.cn/
K
酷狗 (KGSRC)
https://security.kugou.com/
快手 (KwaiSRC)
https://security.kuaishou.com/
旷视 (MSRC)
https://megvii.huoxian.cn/
L
老虎证券 (TigerSRC)
https://security.itiger.com/
乐信 (LXSRC)
http://security.lexinfintech.com/
理想
https://security.lixiang.com/
联想 (LSRC)
https://lsrc.vulbox.com/
猎聘 (LPSRC)
https://security.liepin.com/
M
MYSRC
https://mysrc.group/
马蜂窝 (MFWSRC)
https://security.mafengwo.cn/
蚂蚁集团 (AntSRC)
https://security.alipay.com/
美丽联合 (MLSRC)
https://security.mogu.com/
美团 (MTSRC)
https://security.meituan.com/
魅族 (MEIXZUSRC)
https://sec.meizu.com/
陌陌 (MMSRC)
https://security.immomo.com/
N
你我贷 (NSRC)
http://www.niwodai.com/sec/index.htm
O
OPPO (OSRC)
https://security.oppo.com/
P
平安 (PSRC)
https://security.pingan.com/
平安汇聚 (ISRC)
https://isrc.pingan.com/
Q
千米 (QMSRC)
https://security.qianmi.com/
去哪儿 (QSRC)
https://security.qunar.com/
R
融360 (Rong360SRC)
https://security.rong360.com/
S
SHEIN
https://security.shein.com/
SOUL
https://security.soulapp.cn/
360 (360SRC)
https://security.360.cn/
深信服 (SSRC)
https://security.sangfor.com.cn/
世纪佳缘 (JYSRC)
https://src.jiayuan.com/
水滴安全 (SDSRC)
https://security.shuidihuzhu.com/
顺丰 (SFSRC)
http://sfsrc.sf-express.com/
苏宁 (SNSRC)
https://security.suning.com/
T
T3出行 (T3SRC)
https://security.t3go.cn/
TCL (TCLSRC)
https://src.tcl.com/
腾讯 (TSRC)
https://security.tencent.com/
同程旅行 (LYSRC)
https://sec.ly.com/
同程数科 (TJSRC)
https://securitytcjf.com/
统信(USRC)
https://src.uniontech.com/
同舟共测
https://tz.alipay.com/
途虎 (THSRC)
https://security.tuhu.cn/
途牛 (TNSRC)
https://sec.tuniu.com/
U
UCLOUD (USRC)
https://sec.ucloud.cn/
V
VIPKID (VKSRC)
https://security.vipkid.com.cn/
VIVO (vivoSRC)
https://security.vivo.com.cn/
W
WiFi万能钥匙 (WIFISRC)
https://sec.wifi.com/
挖财 (WACSRC)
https://sec.wacai.com/
完美世界 (PWSRC)
https://security.wanmei.com/
网易 (NSRC)
https://aq.163.com/
唯品会 (VSRC)
https://sec.vip.com/
微博 (WSRC)
https://wsrc.weibo.com/
微众 (WSRC)
https://security.webank.com/
58 (58SRC)
https://security.58.com/
伍林堂 (WSRC)
https://www.wulintang.net/
X
喜马拉雅 (XMSRC)
https://security.ximalaya.com/
享道出行 (SDSRC)
https://src.saicmobility.com/
小米 (MISRC)
https://sec.xiaomi.com/
小赢 (XYSRC)
https://security.xiaoying.com/
携程 (CSRC)
https://sec.ctrip.com/
新浪 (SSRC)
https://sec.sina.com.cn/
讯飞 (XFSRC)
https://security.iflytek.com/
Y
易宠 (ESRC)
https://sec.epet.com/
一加 (ONESRC
https://security.oneplus.com/
一起教育 (17SRC)
https://security.17zuoye.com/
宜信 (CESRC)
https://security.creditease.cn/
银联 (USRC)
https://security.unionpay.com/
萤石 (YSCR)
https://ysrc.ys7.com/
有赞 (YZSRC)
https://src.youzan.com/
0x03 注意事项
- 漏洞挖掘过程大家一定要授权进行,一定不要非法挖洞,注意挖洞尺度;
- 检索目标URL时可以通过多种途径,不一定只有上文介绍的那些方法;
- 文中介绍的python脚本,如果是window客户端需要修改部分代码;
- 文中的python脚本如果有运行时报错,大概率可能是没有安装python包,需要pip install安装一下;
- 如果官网下载的xray运行报错,是因为当前最新版本的xray默认运行不会生成新的配置文件,会找旧的配置文件就是config.yaml文件,所以如果小伙伴之前没有用过这个工具,需要先下载旧版本然后生成配置文件拷贝给新版本进行使用;
- xray和360-crawlergo联动脚本需要修改浏览器目录配置,根据自己系统路径进行修改;
- 如果出现爬取的目标发送给xray,xray没有扫描的动作,这个博主暂时也不知道什么问题,更换其他目标就没有这个问题,感觉像是目标的问题;
- 然后就是大家有更好的工具也可以评论分享,大家一起来学习,共同进步,最后祝大家都早日成为安全届的大佬。