如何高效挖掘Web漏洞?

发布时间:2024年01月24日

简介

SRC漏洞平台:安全应急响应中心(SRC, Security Response Center),是企业用于对外接收来自用户发现并报告的产品安全漏洞的站点。说白了,就是连接白帽子和企业的平台,你去合法提交漏洞给他们,他们给你赏金。 目前国内有两种平台,一种是漏洞报告平台,另一种就是企业SRC。这里也给大家强调一下,一定不要非法挖洞,要注意挖洞尺度和目标要有授权!做一个遵纪守法的好公民!

由于特殊原因本人需每周提交部分漏洞到CNVD国家安全漏洞共享平台,最近发现站点不接收小企业漏洞,提交的也均未被审核通过,经过一番询问得知,目前CNVD接受政府、医疗、学校以及部分集团和国企等SRC漏洞,这无疑为我们挖洞增加了不小难度。

下面是我目前的挖洞思路:

寻找挖洞目标
使用趁手的挖洞工具
挖洞时间
漏洞验证
提交漏洞

过程中使用的工具

本文牵涉到的知识领域和使用的工具主要有:

1.python的基本使用
2. 漏洞扫描工具的使用
3.漏洞验证能力
4.网络空间测绘平台、 企查查、爱企查
5.长亭的xray漏洞扫描工具
6.360的动态爬虫工具crawlergo
7.SRC漏洞提交平台

本文使用的脚本主要有(python脚本):

1.fofa API调用脚本
2.目标URL存活验证脚本
3.xray和crawlergo联动脚本

注意: 演示为Mac系统,过程期间提供的脚本如有window用户需稍稍进行修改,后面在代码中也会提示

详细过程

一、 寻找挖洞目标

1.1 工具介绍

1.网络空间测绘平台:fofa、 奇安信网络空间测绘Hunter、360网络空间测绘Quake(需要有会员);
2.API脚本;
3.企查查、爱企查(需要有会员)。

1.2 目标检索过程

本次我们以fofa为例批量检索需要的目标地址,使用fofa语法检索目标,然后通过API脚本下载对应数据。

事先组织好查询语法,本次我们以域名的方式进行检索,对域名为".http://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("\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("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 工具介绍

1.xray:一款由是从长亭洞鉴核心引擎中提取出的社区版漏洞扫描神器;
2.360-crawlergo:有360安全团队开发一个使用chrome headless模式进行URL入口收集的动态爬虫工具。
3.xray和360-crawlergo联动脚本

本次我们使用xray和crawlergo进行联动,对刚刚整理的目标进行漏洞挖掘,具体使用也可以参考xray官方教程,也可以跟着博主思路进行使用;

2.2 工具下载链接

xray:直接访问官网进行下载,github版本更新不及时,建议直接通过官网下载:

· 官网:CT Stack 安全社区

· github:Releases · chaitin/xray

360-crawlergo:

· github:https://github.com/Qianlitp/crawlergo/releases

联动脚本:

· github:https://github.com/timwhitez/crawlergo_x_XRAY

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/
 
 阿里云先知
 阿里云先知  
 
 爱奇艺 (71SRC)
 爱奇艺安全应急响应中心  
 
 安恒
 安全应急响应中心  
 
B
 BIGO (BSRC)
 BIGO Security Response Center  
 
 BOSS直聘 (BSSRC)
 BOSS直聘安全应急响应中心  
 
 百度 (BSRC)
 https://bsrc.baidu.com/  
 
 百合 (BHSRC)
 https://src.baihe.com/  
 
 贝贝 (BBSRC)
 https://src.beibei.com.cn/  
 
 贝壳 (BKSRC)
 贝壳安全应急响应中心  
 
 本木医疗 (BMSRC)
 https://security.benmu-health.com/src/  
 
 哔哩哔哩 (BILISRC)
 哔哩哔哩安全应急响应中心  
 
C
 菜鸟网络 (CNSRC)
 菜鸟安全应急响应中心  
 
D
 DHgate (DHSRC)
 DHSRC 安全应急响应中心  
 
 大疆 (DJISRC)
 DJI Security Response Center  
 
 滴滴出行 (DSRC)
 滴滴出行安全应急响应中心  
 
 东方财富 (EMSRC)
 东方财富安全应急响应中心  
 
 斗米 (DMSRC)
 斗米安全应急响应中心  
 
 斗鱼 (DYSRC)
 斗鱼安全应急响应中心 - DYSRC  
 
 度小满 (DXMSRC)
 Vue App  
 
F
 法大大 (FSRC)
 法大大安全应急响应中心  
 
 富友 (FSRC)
 富友安全应急响应中心  
 
G
 瓜子 (GZSRC)
 瓜子安全应急响应中心  
 
H
 好未来 (100TALSRC)
 好未来安全应急响应中心  
 
 合合 (ISRC)
 合合安全应急响应中心 ISRC  
 
 恒昌 (HCSRC)
 恒昌安全应急响应中心  
 
 虎牙 (HSRC)
 502 Bad Gateway  
 
 华为 (HBP)
 华为安全奖励计划  
 
 华住 (HSRC)
 Huazhu Security Response Center  
 
 欢聚时代 (YSRC)
 安全应急响应中心  
 
 货拉拉 (LLSRC)
 货拉拉安全应急响应中心  
 
 火线
 火线安全平台 ref
 
J
 焦点 (FSRC)
 焦点安全应急响应中心  
 
 金山办公 (WPSSRC)
 金山办公安全应急响应中心  
 
 金山云 (KYSRC)
 漏洞盒子 | 金山云安全应急响应中心(KYSRC)  
 
 京东 (JSRC)
 京东安全应急响应中心  
 
 竞技世界 (JJSRC)
 安全应急响应中心  
 
K
 酷狗 (KGSRC)
 首页 | 酷狗安全应急响应中心  
 
 快手 (KwaiSRC)
 快手安全应急响应中心  
 
 旷视 (MSRC)
 火线  
 
L
 老虎证券 (TigerSRC)
 https://security.itiger.com/  
 
 乐信 (LXSRC)
 http://security.lexinfintech.com/  
 
 理想
 理想安全应急响应中心  
 
 联想 (LSRC)
 漏洞盒子 | 联想集团安全应急响应中心  
 
 猎聘 (LPSRC)
 猎聘安全应急响应中心  
 
M 
 MYSRC
 https://mysrc.group/  
 
 马蜂窝 (MFWSRC)
 马蜂窝安全应急响应中心  
 
 蚂蚁集团 (AntSRC)
 蚂蚁集团安全应急响应中心官网 - AntSRC - 蚂蚁集团安全响应中心,支付宝安全响应中心,阿里巴巴漏洞反馈,支付宝漏洞反馈,蚂蚁集团漏洞反馈,网商银行漏洞反馈,芝麻信用漏洞反馈,口碑漏洞反馈,花呗漏洞反馈,蚂蚁财富漏洞反馈,支付宝情报反馈,阿里巴巴情报反馈,网商银行漏洞,芝麻信用漏洞,口碑漏洞,花呗漏洞,蚂蚁财富漏洞,阿里巴巴漏洞,支付宝漏洞,蚂蚁集团漏洞,支付宝情报,阿里巴巴情报  
 
 美丽联合 (MLSRC)
 美丽联合集团安全应急响应中心  
 
 美团 (MTSRC)
 美团安全应急响应中心  
 
 魅族 (MEIXZUSRC)
 魅族安全中心  
 
 陌陌 (MMSRC)
 陌陌安全应急响应中心  
 
N
 你我贷 (NSRC)
 首页  
 
O
 OPPO (OSRC)
 OPPO安全应急响应中心 | OSRC  
 
P
 平安 (PSRC)
 平安安全应急响应中心  
 
 平安汇聚 (ISRC)
 平安安全应急响应中心  
 
Q
 千米 (QMSRC)
 首页 - 千米电商云安全应急响应中心  
 
 去哪儿 (QSRC)
 去哪儿安全应急响应中心  
 
R 
 融360 (Rong360SRC)
 融360安全应急响应中心  
 
S
 SHEIN
 SHEIN Inc.Security Response Center  
 
 SOUL
 首页 | Soul安全应急响应中心  
 
 360 (360SRC)
 360安全应急响应中心  
 
 深信服 (SSRC)
 首页 | 深信服安全应急响应中心  
 
 世纪佳缘 (JYSRC)
 https://src.jiayuan.com/  
 
 水滴安全 (SDSRC)
 水滴安全应急响应中心  
 
 顺丰 (SFSRC)
 顺丰安全应急响应中心  
  
 苏宁 (SNSRC)
 https://security.suning.com/  
 
T
 T3出行 (T3SRC)
 T3出行安全应急响应中心  
 
 TCL (TCLSRC)
 h5_tcl_src_website  
 
 腾讯 (TSRC)
 腾讯安全应急响应中心  
 
 同程旅行 (LYSRC)
 首页 | 同程旅行安全应急响应中心  
 
 同程数科 (TJSRC)
 TJSRC 同程数科安全响应中心  
 
 统信(USRC)
 首页 | 统信安全应急响应中心  
 
 同舟共测
 同舟共测-企业安全响应联盟  
 
 途虎 (THSRC)
 首页 | 途虎安全应急响应中心  
 
 途牛 (TNSRC)
 途牛安全应急响应中心  
 
U
 UCLOUD (USRC)
 https://sec.ucloud.cn/  
 
V
 VIPKID (VKSRC)
 首页 | VIPKID安全响应中心  
 
 VIVO (vivoSRC)
 vivo 安全应急响应平台  
 
W
 WiFi万能钥匙 (WIFISRC)
 WIFI万能钥匙安全响应中心  
 
 挖财 (WACSRC)
 挖财安全应急响应中心  
 
 完美世界 (PWSRC)
 首页  
 
 网易 (NSRC)
 网易安全中心  
 
 唯品会 (VSRC)
 VSRC首页-唯品会信息安全中心  
 
 微博 (WSRC)
 微博安全应急响应中心  
 
 微众 (WSRC)
微众银行安全响应中心  
 
 58 (58SRC)
 58安全应急响应中心  
 
 伍林堂 (WSRC)
 首页 | 伍林堂安全应急响应中心  
 
X
 喜马拉雅 (XMSRC)
 喜马拉雅安全应急响应中心  
 
 享道出行 (SDSRC)
 享道出行SRC  
 
 小米 (MISRC)
 小米安全中心  
 
 小赢 (XYSRC)
 首页 | 小赢安全应急响应中心  
 
 携程 (CSRC)
 携程安全应急响应中心  
 
 新浪 (SSRC)
 首页 - 新浪安全应急响应中心  
 
 讯飞 (XFSRC)
 讯飞安全响应中心  
 
Y
 易宠 (ESRC)
 ESRC  
 
 一加 (ONESRC
 OnePlus Security Response Center (OneSRC)  
 
 一起教育 (17SRC)
 首页 | 一起教育安全应急响应中心  
 
 宜信 (CESRC)
 宜信安全应急响应中心  
 
 银联 (USRC)
 银联安全应急响应中心(USRC)  
 
 萤石 (YSCR)
 https://ysrc.ys7.com/  
 
 有赞 (YZSRC)
 首页 | 有赞安全应急响应中心

注意事项

漏洞挖掘过程大家一定要授权进行,一定不要非法挖洞,注意挖洞尺度;

检索目标URL时可以通过多种途径,不一定只有上文介绍的那些方法;

文中介绍的python脚本,如果是window客户端需要修改部分代码;

文中的python脚本如果有运行时报错,大概率可能是没有安装python包,需要pip install安装一下;

如果官网下载的xray运行报错,是因为当前最新版本的xray默认运行不会生成新的配置文件,会找旧的配置文件就是config.yaml文件,所以如果小伙伴之前没有用过这个工具,需要先下载旧版本然后生成配置文件拷贝给新版本进行使用;

xray和360-crawlergo联动脚本需要修改浏览器目录配置,根据自己系统路径进行修改;

如果出现爬取的目标发送给xray,xray没有扫描的动作,这个博主暂时也不知道什么问题,更换其他目标就没有这个问题,感觉像是目标的问题;

然后就是大家有更好的工具也可以评论分享,大家一起来学习,共同进步,最后祝大家都早日成为安全届的大佬。

对于网络安全方面,我自己也做了很多的研究,整理了很多网络安全的资源,从入门到进阶的都有,包括红蓝对抗的完整学习路线图、配套的视频教程、工具包和技术文档等等:

文章来源:https://blog.csdn.net/HackKong/article/details/135815066
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。