目录
0x00 简介
0x01 过程中使用的工具
0x02 详细过程
一、 寻找挖洞目标
1.1 工具介绍
1.2 目标检索过程
二、 趁手的挖洞工具
2.1 工具介绍
2.2 工具下载链接
2.3 工具使用
三、挖洞时间
四、漏洞验证
五、提交漏洞
0x03 注意事项
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脚本下载对应数据。
事先组织好查询语法,本次我们以域名的方式进行检索,对域名为"."地区为中国状态码为200进行检索,可以发现有很多资产,因为会员限制我们每天只提取1万个目标,所以还需要继续优化使用的检索语法:
host="." && country="CN" && status_code="200"
通过对地区细分可以再次对数据进行筛选,可以发现大多数地区在3万以内,这样就可以可以分批进行检索下载了:
host="." && 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(()).decode()
api = '/api/v1/search/all?email={}&key={}&qbase64={}&size=10000'.format(email, api_key, qbase64)
print("正在请求页面查询{}".format(gammer))
response = (api)
data_result = ()["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 = (f)
(["URL", "IP地址", "访问端口号"])
for result in data:
list_data = [result[0].strip(), result[1].strip(), result[2].strip()]
(list_data)
count_range -= 1
if count_range == 0:
break
# 交互界面
def GUI_Communication():
print("\n\t 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("", 'r') as f:
for gammer_data in ():
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用户需将代码中的./的./去掉即可
import requests
def foo():
for url in open("./"):
url = ()
if 'http' in url or 'https' in url:
url1 = url
url2 = None
else:
url1 = f'http://{url}'
url2 = f'https://{url}'
try:
ok = (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 = (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 = (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版本更新不及时,建议直接通过官网下载:
- 官网:CT Stack 安全社区
- github:/chaitin/xray/releases
360-crawlergo:
- github:/Qianlitp/crawlergo/releases
联动脚本:
- github:/timwhitez/crawlergo_x_XRAY
2.3 工具使用
下载适合自己操作系统类型的工具(博主为Mac arm64,下载darwin_arm64版本),然后统一放置在一个文件夹中:
将下载的crawlergo和xray放置在联动脚本程序,然后将联动脚本程序的crawlergo和xray文件夹删除,注意需要修改crawlergo_darwin_arm64文件名为crawlergo,修改主程序和launcher_new.py部分代码,主要是chrome路径改为本地路径,博主chrome浏览器位置为:/Applications/Google /Contents/MacOS/Google Chrome,将如下代码更改即可:
放置在同一文件夹;
修改主程序和launcher_new.py浏览器文件目录,两个文件修改位置基本一致,建议使用主程序该程序有爬取回显;
将第一步获取的目标放置在文件中,注意需要逐行隔开,然后本地开始使用xray监听127.0.0.1:7777,脚本编写默认监听7777端口,联动本质为通过脚本将crawlergo爬去的目标数据发送给正在监听的xray,然后实现目标的漏洞检查;
目标放置给文件;
启动xray监听 ,监听命令不理解的可以去xray官网查询;
./xray_darwin_arm64 webscan --listen 127.0.0.1:7777 --html-output
启动联动主程序爬取目标,等待片刻,可以发现爬虫已经爬取好数据通过本地回环7777端口发送给xray,接下来只需要安静的等待输出报告即可;
三、挖洞时间
关于挖洞时间这个就不确定了,还待看运气,不过由于大家都在挖SRC所以现在就不太容易挖掘了,建议睡觉前电脑跑着,或者直接整个虚拟机一直运行。
四、漏洞验证
漏洞验证也是我们从事web安全必须掌握的技能,这个其实很简单,不懂就问,度娘总会给你满意答案,不过也有小技巧,报告里面一般都会给相应的验证脚本和验证思路,大家直接根据报告进行验证一般都没有问题。
五、提交漏洞
提交SRC漏洞平台有很多,本人主要还是在CNVD国家信息安全漏洞共享平台进行提交,当然也有其他的很多平台,下面我列出一部分,可以供大家参考,应该算是比较详细了。
A
阿里巴巴 (ASRC)
/
阿里云先知
/
爱奇艺 (71SRC)
/
安恒
/
B
BIGO (BSRC)
/
BOSS直聘 (BSSRC)
/
百度 (BSRC)
/
百合 (BHSRC)
/
贝贝 (BBSRC)
/
贝壳 (BKSRC)
/
本木医疗 (BMSRC)
/src/
哔哩哔哩 (BILISRC)
/
C
菜鸟网络 (CNSRC)
/
D
DHgate (DHSRC)
/
大疆 (DJISRC)
/
滴滴出行 (DSRC)
/
东方财富 (EMSRC)
/
斗米 (DMSRC)
/
斗鱼 (DYSRC)
/
度小满 (DXMSRC)
/
F
法大大 (FSRC)
/
富友 (FSRC)
/
G
瓜子 (GZSRC)
/
H
好未来 (100TALSRC)
https://src./
合合 (ISRC)
/
恒昌 (HCSRC)
/
虎牙 (HSRC)
/
华为 (HBP)
/
华住 (HSRC)
/
欢聚时代 (YSRC)
/
货拉拉 (LLSRC)
/
火线
/project/detail?pid ref
J
焦点 (FSRC)
/
金山办公 (WPSSRC)
/
金山云 (KYSRC)
/
京东 (JSRC)
/
竞技世界 (JJSRC)
/
K
酷狗 (KGSRC)
/
快手 (KwaiSRC)
/
旷视 (MSRC)
/
L
老虎证券 (TigerSRC)
/
乐信 (LXSRC)
/
理想
/
联想 (LSRC)
/
猎聘 (LPSRC)
/
M
MYSRC
/
马蜂窝 (MFWSRC)
/
蚂蚁集团 (AntSRC)
/
美丽联合 (MLSRC)
/
美团 (MTSRC)
/
魅族 (MEIXZUSRC)
/
陌陌 (MMSRC)
/
N
你我贷 (NSRC)
/sec/
O
OPPO (OSRC)
/
P
平安 (PSRC)
/
平安汇聚 (ISRC)
/
Q
千米 (QMSRC)
/
去哪儿 (QSRC)
/
R
融360 (Rong360SRC)
https://security./
S
SHEIN
/
SOUL
/
360 (360SRC)
https://security./
深信服 (SSRC)
/
世纪佳缘 (JYSRC)
/
水滴安全 (SDSRC)
/
顺丰 (SFSRC)
/
苏宁 (SNSRC)
/
T
T3出行 (T3SRC)
https://security./
TCL (TCLSRC)
/
腾讯 (TSRC)
/
同程旅行 (LYSRC)
/
同程数科 (TJSRC)
/
统信(USRC)
/
同舟共测
/
途虎 (THSRC)
/
途牛 (TNSRC)
/
U
UCLOUD (USRC)
/
V
VIPKID (VKSRC)
/
VIVO (vivoSRC)
/
W
WiFi万能钥匙 (WIFISRC)
/
挖财 (WACSRC)
/
完美世界 (PWSRC)
/
网易 (NSRC)
https://aq./
唯品会 (VSRC)
/
微博 (WSRC)
/
微众 (WSRC)
/
58 (58SRC)
https://security./
伍林堂 (WSRC)
/
X
喜马拉雅 (XMSRC)
/
享道出行 (SDSRC)
/
小米 (MISRC)
/
小赢 (XYSRC)
/
携程 (CSRC)
/
新浪 (SSRC)
/
讯飞 (XFSRC)
/
Y
易宠 (ESRC)
/
一加 (ONESRC
/
一起教育 (17SRC)
https://security./
宜信 (CESRC)
/
银联 (USRC)
/
萤石 (YSCR)
https://ysrc./
有赞 (YZSRC)
/
0x03 注意事项
- 漏洞挖掘过程大家一定要授权进行,一定不要非法挖洞,注意挖洞尺度;
- 检索目标URL时可以通过多种途径,不一定只有上文介绍的那些方法;
- 文中介绍的python脚本,如果是window客户端需要修改部分代码;
- 文中的python脚本如果有运行时报错,大概率可能是没有安装python包,需要pip install安装一下;
- 如果官网下载的xray运行报错,是因为当前最新版本的xray默认运行不会生成新的配置文件,会找旧的配置文件就是文件,所以如果小伙伴之前没有用过这个工具,需要先下载旧版本然后生成配置文件拷贝给新版本进行使用;
- xray和360-crawlergo联动脚本需要修改浏览器目录配置,根据自己系统路径进行修改;
- 如果出现爬取的目标发送给xray,xray没有扫描的动作,这个博主暂时也不知道什么问题,更换其他目标就没有这个问题,感觉像是目标的问题;
- 然后就是大家有更好的工具也可以评论分享,大家一起来学习,共同进步,最后祝大家都早日成为安全届的大佬。