目录
SRC漏洞平台:安全应急响应中心(SRC, Security Response Center),是企业用于对外接收来自用户发现并报告的产品安全漏洞的站点。说白了,就是连接白帽子和企业的平台,你去合法提交漏洞给他们,他们给你赏金。 目前国内有两种平台,一种是漏洞报告平台,另一种就是企业SRC。这里也给大家强调一下,一定不要非法挖洞,要注意挖洞尺度和目标要有授权!做一个遵纪守法的好公民!
由于特殊原因本人需每周提交部分漏洞到CNVD国家安全漏洞共享平台,最近发现站点不接收小企业漏洞,提交的也均未被审核通过,经过一番询问得知,目前CNVD接受政府、医疗、学校以及部分集团和国企等SRC漏洞,这无疑为我们挖洞增加了不小难度。
下面是我目前的挖洞思路:
本文牵涉到的知识领域和使用的工具主要有:
本文使用的脚本主要有(python脚本):
注意: 博主为Mac系统,过程期间提供的脚本如有window用户需稍稍进行修改,博主在代码中也会提示
本次我们以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("\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()


工具其实有很多,自己使用顺手就可以。
本次我们使用xray和crawlergo进行联动,对刚刚整理的目标进行漏洞挖掘,具体使用也可以参考xray官方教程,也可以跟着博主思路进行使用;
xray:直接访问官网进行下载,github版本更新不及时,建议直接通过官网下载:
360-crawlergo:
联动脚本:
下载适合自己操作系统类型的工具(博主为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/
大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje
我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i
我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A
我正在编写一个gem,我必须在其中fork两个启动两个webrick服务器的进程。我想通过基类的类方法启动这个服务器,因为应该只有这两个服务器在运行,而不是多个。在运行时,我想调用这两个服务器上的一些方法来更改变量。我的问题是,我无法通过基类的类方法访问fork的实例变量。此外,我不能在我的基类中使用线程,因为在幕后我正在使用另一个不是线程安全的库。所以我必须将每个服务器派生到它自己的进程。我用类变量试过了,比如@@server。但是当我试图通过基类访问这个变量时,它是nil。我读到在Ruby中不可能在分支之间共享类变量,对吗?那么,还有其他解决办法吗?我考虑过使用单例,但我不确定这是
在Ruby中是否有Gem或安全删除文件的方法?我想避免系统上可能不存在的外部程序。“安全删除”指的是覆盖文件内容。 最佳答案 如果您使用的是*nix,一个很好的方法是使用exec/open3/open4调用shred:`shred-fxuz#{filename}`http://www.gnu.org/s/coreutils/manual/html_node/shred-invocation.html检查这个类似的帖子:Writingafileshredderinpythonorruby?
在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList()Obt
目录1.漏洞简介2、AJP13协议介绍Tomcat主要有两大功能:3.Tomcat远程文件包含漏洞分析4.漏洞复现 5、漏洞分析6.RCE实现的原理1.漏洞简介2020年2月20日,公开CNVD的漏洞公告中发现ApacheTomcat文件包含漏洞(CVE-2020-1938)。ApacheTomcat是Apache开源组织开发的用于处理HTTP服务的项目。ApacheTomcat服务器中被发现存在文件包含漏洞,攻击者可利用该漏洞读取或包含Tomcat上所有webapp目录下的任意文件。该漏洞是一个单独的文件包含漏洞,依赖于Tomcat的AJP(定向包协议)。AJP自身存在一定缺陷,导致存在可控
我正在使用ruby2.1.0我有一个json文件。例如:test.json{"item":[{"apple":1},{"banana":2}]}用YAML.load加载这个文件安全吗?YAML.load(File.read('test.json'))我正在尝试加载一个json或yaml格式的文件。 最佳答案 YAML可以加载JSONYAML.load('{"something":"test","other":4}')=>{"something"=>"test","other"=>4}JSON将无法加载YAML。JSON.load("
我遇到了这个奇怪的错误.../Users/gideon/Documents/ca_ruby/rubytactoe/lib/player.rb:13:in`gets':Isadirectory-spec(Errno::EISDIR)player_spec.rb:require_relative'../spec_helper'#theuniverseisvastandinfinite...itcontainsagame....butnoplayersdescribe"tictactoegame"docontext"theplayerclass"doit"musthaveahumanplay
默认情况下:回形针gem将所有附件存储在公共(public)目录中。出于安全原因,我不想将附件存储在公共(public)目录中,所以我将它们保存在应用程序根目录的uploads目录中:classPost我没有指定url选项,因为我不希望每个图像附件都有一个url。如果指定了url:那么拥有该url的任何人都可以访问该图像。这是不安全的。在user#show页面中:我想实际显示图像。如果我使用所有回形针默认设置,那么我可以这样做,因为图像将在公共(public)目录中并且图像将具有一个url:Someimage:看来,如果我将图像附件保存在公共(public)目录之外并且不指定url(同