SRC漏洞挖掘技巧(0基础入门到精通),只要收藏这一篇就够了!!

前言


声明: 这里是由零信任安全实验室组建的一个知识平台,平台有批量验证的脚本、工具以及一些漏洞的POC,后续还会分享网络安全资源(漏洞挖掘文章 工具 资讯)以及SRC漏洞挖掘案例分享等等,资源多多,干货多多!
请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者和本公众号无关。工具
来自网络,安全性自测。


在这里插入图片描述

0x00 简介

今天就分享一下公益SRC漏洞的批量挖掘的技巧和所要用到的一些相关的工具和脚本出来和各位师傅交流一下,不足之处还希望师傅们多多指教。

0x01 国内的一些公益src漏洞平台

漏洞盒子:https://www.vulbox.com``
补天漏洞响应平台:https://www.butian.net``
CNNVD信息安全漏洞库:https://www.cnnvd.org.cn``教育漏洞提交平台:https://src.sjtu.edu.cn

漏洞盒子:

在这里插入图片描述

**奖励:**中等,奖励的话有现金还有积分,积分可以在商城内兑换礼物

**通过门槛:**门槛比较低,只要是漏洞都收,没有权重或者公司的一些要求,审核不是很严格,刚入门的师傅可以提交到漏洞盒子,练练手,积累一下经验和技巧

**审核速度:**一般吧,有时候快有时候慢

补天漏洞响应平台:

在这里插入图片描述

**奖励:**中等,可以给现金和kb,kb可以兑换实物奖励

**通过门槛:**高,需要收录移动百度权重大于等于1或者百度pc权重大于等于1或者谷歌权重大于等于3的网站,edu和gov的站不需要权重

**审核速度:**快

CNNVD信息安全漏洞库:

**奖品:**高,可以给你证书

**通过门槛:**极高,不仅仅要看权重,而且还要看公司的注册资金,好像是通用型的漏洞,厂商注册资金要超过五千万,而且还不能只提交一个,要提交十个案例才可以

**审核速度:**一般

教育漏洞提交平台:

**奖品:**高,有大学专门给的证书,和一些礼品

**通过门槛:**高,必须要edu和教育相关的网站,例如说大学,中学,高中这些

**审核速度:**一般

这里只列举最简单并且比较知名的一些公益src提交平台,还有一些其他的公益src提交平台,就不一一列举了

0x02 前期的准备工作

一些在线的搜索引擎网站:

(一)资产测绘引擎

fofa资产测绘引擎:https://fofa.info/``鹰图资产测绘引擎:https://hunter.qianxin.com/``shodan资产测绘引擎:https://www.shodan.io/``360资产测绘引擎:https://quake.360.net/``零零信安资产测绘引擎:https://0.zone/``谷歌hacker语法:https://codeleading.com/article/8526777820/

以上的搜索引擎网站都是用来收集目标网站信息的一些网络空间资产测绘,可以帮助我们快速的定位到目标的资产,批量获取url进行漏洞挖掘

(二)企业信息查询

爱企查:https://aiqicha.baidu.com``天眼查:https://www.tianyancha.com``企查查:https://www.qcc.com``小蓝本:https://www.xiaolanben.com

以上的网站是为了查询网站所属的企业的一些信息,为了方便在提交漏洞的时候填写详细联系方式和公司的地址

(三)域名信息查询

爱站:https://www.aizhan.com``站长工具:https://tool.chinaz.com

以上的网站是为了查询网站备案信息、网站权重信息、网站的ip信息等

(四)保持一个良好的心态

一个好的心态,和一个灵活的脑袋,心态很重要,保持一个良好的心态,挖洞的时候细心一点,不怕漏洞挖不到。正所谓心细则能挖天下!!!

一些工具和漏洞库

漏洞库

佩奇漏洞文库:``https://www.yuque.com/peiqiwiki/peiqi-poc-wiki``http://wiki.peiqi.tech/``白阁漏洞文库:``https://wiki.bylibrary.cn/%E6%BC%8F%E6%B4%9E%E5%BA%93/01-CMS%E6%BC%8F%E6%B4%9E/ActiveMQ/ActiveMQ%E4%BB%BB%E6%84%8F%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0%E6%BC%8F%E6%B4%9E/``狼组安全团队公开知识库:``https://wiki.wgpsec.org/knowledge/``Morker文库:``https://wiki.96.mk/``风炫漏洞库:``https://evalshell.com/``exploit-db漏洞库:``https://www.exploit-db.com/

工具

fofax``fofa_viewer``nuclei``httpx``ip2domain

0x03 批量漏洞挖掘

在线文库查询

使用在线的漏洞文库收集nday或者1day的漏洞payload对网站批量进行漏洞挖掘。用佩奇或者白阁的都可以,只要能找到poc就可以

佩奇文库

白阁文库

这里的话就使用佩奇文库来进行演示,访问漏洞文库,获取对应的语句:

使用上边提到过的网络空间测绘搜索引擎来查找对应的资产,可以使用fofa,shodan,360quake,奇安信hunter,零零信安等测绘引擎搜索相关资产。我比较喜欢用fofa。

一般像OA这种系统框架都是有着清晰的指纹标识,方便从空间搜索引擎中批量寻找到目标,根据产品的漏洞来获取这个产品的资产然后进行批量的测试

使用语句定位到产品,然后就可以看到这些相关的资产。这里随便找一个网站看看是否为我们想要的

注意:任何未授权的测试都要点到为止,表明出漏洞的危害就好了,再往下就不礼貌了。

使用工具批量收集对应的资产网站

fofax:https://github.com/xiecat/fofax

在通过fofa空间测绘搜索引擎搜集到相关资产的时候,这个时候需要把资产给保存下来,进行下一步的操作,我们可以通过fofax或者fofa_viewer工具来将我们刚刚在fofa搜索到的资产进行导出

fofa_viewer:https://github.com/wgpsec/fofa_viewer

同理,通过fofa_viewer进行资产获取,将我们刚刚在fofa搜索到的资产进行导出

批量探测网站存活状态

使用工具httpx对上面收集到的url做一个存活验证,首先筛选出存活的url来,然后再进行测试,不然会浪费我们很多时间,这里我们使用httpx把存活的url保存到文件中

httpx.exe -timeout 15 -l fanwei.txt -o result.txt -mc 200

批量测试漏洞

根据泛微OA E-Cology BshServlet 远程代码执行漏洞漏洞命令执行的特征,我们简单写一个多线程检测脚本

from os import O_EXCL``import requests``import threading``   ``def POC_1(target_url,ss):`    `vuln_url = target_url + r"/weaver/bsh.servlet.BshServlet"`    `headers = {`        `"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36",`        `"Content-Type": "application/x-www-form-urlencoded",`    `}`    `try:`        `response = requests.get(url=vuln_url, headers=headers, timeout=5,verify=False)`        `if response.status_code == 200 and "BeanShell Test" in response.text:`            `with open("存在漏洞的url.txt", 'a', encoding='UTF-8') as f:`                `print("\033[32m[o] 目标{}存在漏洞".format(target_url))`                `f.write(vuln_url + "\n")`        `else:`            `print("\033[31m[x] 目标不存在漏洞")`    `except Exception as e:`        `print("\033[31m[x] 请求失败", e)``   ``with open("fanwei.txt","r",encoding='UTF-8')as f:`        `for i in f.readlines():`            `ss = i.replace('\n','')`            `ip = i.replace('\n','')`            `threading.Thread(target=POC_1,args=(ip,ss)).start()

这是运行完脚本之后得到的所有存在漏洞站点的txt文件

随便拿一个验证一下是否真的存在漏洞

也可以使用佩奇文库给的poc批量测试

拿到有漏洞的url之后,我们需要处理一下这些数据,大概一个思路就是:

漏洞url

->根据url(因为有些网站是ip站)反查域名

->根据域名反查域名权重

->根据有权重的域名反查域名备案名称

->根据备案名称查询公司的基本信息,例如公司的所在地方和行业等等,这里下边会提到,请听我娓娓道来。

0x04 域名和权重和公司的批量检测

在提交补天或者其他漏洞平台的时候,可以发现平台会有提到这么一个提交漏洞的规则,那就是公益src的漏洞网站的主站权重需要达到指定的权重值才会收录,那么什么是权重值呢,网站权重是指搜索引擎给网站(包括网页)赋予一定的权威值,对网站(含网页)权威的评估评价。一个网站权重越高,在搜索引擎所占的份量越大,在搜索引擎排名就越好。补天的话是要百度移动权重大于等于1或者百度pc权重大于等于1,或者谷歌权重大于等于3,权重信息以爱站检测为准

爱站:https://rank.aizhan.com/

我们需要对上边收集过来的存在漏洞的url列表去做一个根据ip反查域名,然后域名反查权重这样一个功能,python大法好,学python得永生,这里使用python编写一个根据ip反查域名然后域名反查权重的功能。因为有些是ip站,要想查权重,就要查到ip所对应的域名,所以我们需要一个ip反查域名这么功能的脚本

#-- coding:UTF-8 --``import re, time``from urllib.parse import urlparse``import requests``from fake_useragent import UserAgent``from tqdm import tqdm``import os``   ``# 爱站``def aizhan_chaxun(ip, ua):`    `aizhan_headers = {`        `'Host': 'dns.aizhan.com',`        `'User-Agent': ua.random,`        `'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',`        `'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',`        `'Accept-Encoding': 'gzip, deflate, br',`        `'Referer': 'https://dns.aizhan.com/'}`    `aizhan_url = 'https://dns.aizhan.com/' + str(ip) + '/'`    `try:`        `aizhan_r = requests.get(url=aizhan_url, headers=aizhan_headers, timeout=2).text`        `aizhan_nums = re.findall(r'''<span class="red">(.*?)</span>''', aizhan_r)`        `if int(aizhan_nums[0]) > 0:`            `aizhan_domains = re.findall(r'''rel="nofollow" target="_blank">(.*?)</a>''', aizhan_r)`            `return aizhan_domains`    `except:`        `pass``   ``def catch_result(i):`    `ua_header = UserAgent()`    `i = i.strip()`    `if "http://" not in i:`        `i="http://"+i`    `try:`        `ip = urlparse(i).netloc`        `aizhan_result = aizhan_chaxun(ip, ua_header)`        `time.sleep(1)`        `if (aizhan_result != None ):`            `with open("ip反查结果.txt", 'a') as f:`                `result = "[url]:" + i + "   " +  "  [aizhan]:" + str(aizhan_result[0])`                `print(result)`                `f.write(result + "\n")`        `else:`            `with open("反查失败列表.txt", 'a') as f:`                `f.write(i + "\n")`    `except:`        `pass``   ``   ``if __name__ == '__main__':`    `url_list = open("待ip反查.txt", 'r').readlines()`    `url_len = len(open("待ip反查.txt", 'r').readlines())`    `#每次启动时清空两个txt文件`    `if os.path.exists("反查失败列表.txt"):`        `f = open("反查失败列表.txt", 'w')`        `f.truncate()`    `if os.path.exists("ip反查结果.txt"):`        `f = open("ip反查结果.txt", 'w')`        `f.truncate()`    `for i in tqdm(url_list):`        `catch_result(i)

将前边收集到的存在漏洞的url存到一个叫待ip反查.txt的文件里,然后运行脚本

运行结果:

然后拿到解析的域名后,继续对域名权重进行检测,这里采用爱站来进行权重检测,这里是一个批量检测权重的脚本

# -- coding:UTF-8 --``import requests`   `import re``import getopt``import sys``import threadpool``import urllib.parse``import urllib.request``import ssl``from urllib.error import HTTPError,URLError``import time``ssl._create_default_https_context = ssl._create_stdlib_context``   ``   ``headers={``'Host': 'baidurank.aizhan.com',``'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36',``'Sec-Fetch-Dest': 'document',``'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',``'Cookie': ''``}``   ``   ``def google_simple(url, j):`    `google_pc = "https://pr.aizhan.com/{}/".format(url)`    `bz = 0`    `http_or_find = 0`    `try:`        `response = requests.get(google_pc, timeout=10).text`        `http_or_find = 1`        `result_pc = re.findall(re.compile(r'<span>谷歌PR:</span><a>(.*?)/></a>'), response)[0]`        `result_num = result_pc.split('alt="')[1].split('"')[0].strip()`        `if int(result_num) > 0:`            `bz = 1`        `result = '[+] 谷歌权重:' + result_num + '  ' + j`        `return result, bz`    `except:`        `if (http_or_find != 0):`            `result = "[!]格式错误:" + "j"`            `return result, bz`        `else:`            `time.sleep(3)`            `return google_simple(url, j)``   ``   ``def getPc(domain):`    `aizhan_pc = 'https://baidurank.aizhan.com/api/br?domain={}&style=text'.format(domain)`    `try:``   `        `req = urllib.request.Request(aizhan_pc, headers=headers)`        `response = urllib.request.urlopen(req,timeout=10)`        `b = response.read()`        `a = b.decode("utf8")`        `result_pc = re.findall(re.compile(r'>(.*?)</a>'),a)`        `pc = result_pc[0]``   `    `except HTTPError as u:`        `time.sleep(3)`        `return getPc(domain)``   `    `return pc``   ``def getMobile(domain):`    `aizhan_pc = 'https://baidurank.aizhan.com/api/mbr?domain={}&style=text'.format(domain)`    `try:`        `# b = requests.post(url=post_url,headers=headers, proxies=proxy, timeout = 7)`        `# res = urllib.request.urlopen(aizhan_pc,timeout=10)`        `# # res = opener.open(aizhan_pc,timeout=10)`        `# a = res.read().decode('UTF-8')`        `req = urllib.request.Request(aizhan_pc, headers=headers)`        `response = urllib.request.urlopen(req,timeout=10)`        `b = response.read()`        `a = b.decode("utf8")`        `result_m = re.findall(re.compile(r'>(.*?)</a>'),a)`        `mobile = result_m[0]`    `except HTTPError as u:`        `time.sleep(3)`        `return getMobile(domain)``   ``   `    `return mobile``# 权重查询``def seo(name,url):``   `    `try:``   `        `result_pc = getPc(name)`        `result_mobile = getMobile(name)``   `    `except Exception as u:`        `# print(u)`        `result_pc = '0'`        `result_mobile = '0'``   `        `print('[- 目标{}获取权重失败,自动设为0'.format(url))`    `# print('运行正常')`    `print('[+ 百度权重:'+result_pc+'  移动权重:'+result_mobile+'  Url:'+url)`    `with open('vul.txt','a',encoding='utf-8') as y:`        `y.write('[百度权重:'+result_pc+','+"移动权重:"+result_mobile+','+url+']'+'\n')``   `    `return True``   ``def exp(name1):`    `# opts, args = getopt.getopt(sys.argv[1:], '-u:-r:', ['url', 'read'])`    `# print(name1)`    `try:`        `name = name1[name1.rfind('/'):].strip('/')`        `# print(name)`        `rew = seo(name,name1)``   `    `except Exception as u:`    `# except:`        `print(u)`        `print('[- 目标{}检测失败,已写入fail.txt等待重新检测'.format(name1))`        `# file_fail.write(name1+'\n')`        `with open('fail.txt',mode='a',encoding='utf-8') as o:`            `o.write(name1+'\n')``   ``   ``def multithreading(funcname, params=[], filename="ip.txt", pools=15):`    `works = []`    `with open(filename, "r") as f:`        `for i in f:`            `func_params = [i.rstrip("\n")] + params`            `works.append((func_params, None))`    `pool = threadpool.ThreadPool(pools)`    `reqs = threadpool.makeRequests(funcname, works)``   `    `[pool.putRequest(req) for req in reqs]`    `pool.wait()``   ``def main():`    `multithreading(exp, [], "存在漏洞的url.txt", 15)  # 默认15线程`    `print("全部check完毕,请查看当前目录下的vul.txt")``   ``if __name__ == "__main__":`    `# st = False`    `# main(st)`    `main()

结果:

然后拿着有权重的站,批量根据域名反查备案名称,这里推荐使用一个工具叫ip2domain,该工具可用于对跑到的ip批量查询域名及百度权重、备案信息,快速确定ip所属企业,方便提交漏洞。

工具链接:https://github.com/Sma11New/ip2domain

在这里插入图片描述

然后批量查询域名的备案公司

python ip2domain.py -f 存在漏洞的url.txt -t 10 --icp -o 根据域名反查厂商.txt

参数解析:-f 是指定批量查询的文件 -o是查询后的结果保存的文件名 -t是超时时间 --icp是查询网站对应的备案公司名

拿到公司名之后就可以提交漏洞了吗?并不是,这里还有最后一步,那就是,根据公司名去查找公司的基本工商信息,例如说:注册公司的所在地区,所属行业等等,因为提交漏洞的时候需要填写这些信息

所以我们要根据公司名反查公司的所在地区和所属行业等信息,这里推荐企查查或者天眼查

企查查:

天眼查:

从网站中就可以看到公司的基本信息,如注册资金,所属行业,所属地区等信息

然后反查完就可以拿到公益src平台进行提交,有权重的可以交补天漏洞响应平台,没有权重的可以交漏洞盒子

为了帮助大家更好的学习网络安全,我给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂这些资料!


题外话


**
**
黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

在这里插入图片描述

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

在这里插入图片描述

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。
在这里插入图片描述

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。
在这里插入图片描述

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
————————————————
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

  • 37
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值