首页 SEO攻略 正文

域名信息查询及批量漏洞挖掘:保持良好心态利用工具找漏洞

SEO攻略 2025-05-08 14

[id_83[id_1875804504[id_1984751514]948847]

爱站:https:[id_745509552]站长工具:https:[id_969919760]

此网站旨在提供查询服务,包括但不限于网站备案详情、网站权重数据、以及网站的IP地址信息等。

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

保持积极的心态,以及思维敏捷的大脑至关重要,良好的心态不可或缺,挖掘时需细致入微,切勿担忧无法找到漏洞。常言道,心细如发,方能挖掘出世间万物!!!

一些工具和漏洞库

漏洞库

佩奇漏洞文库:[id_1924510777]//www禁止对专有名词进行修改,同时确保在改写过程中不穿插任何英文单词。改写结果需保持与原文相同的语言风格,并去除最前面的序号。可以将较长的句子拆分成若干个较短的小分句,用逗号进行分隔。在改写过程中,务必注意不要遗漏任何句子末尾的标点符号。http://wiki.peiqi.tech/白阁漏洞文库:https://wiki图书馆的漏洞库页面可通过网址访问,地址为:.bylibrary.cn/%E6%BC%8F%E6%B4%9E%E5%BA%93/。01CMS存在漏洞,涉及ActiveMQ,具体为ActiveMQ任意文件上传漏洞。狼组安全团队公开知识库:https://wiki.wgpsec.org/knowledge/Morker文库:https://wiki.96.mk/风炫漏洞库:https://evalshell.com/exploit-db漏洞库:https://www.exploit-db.com/

工具

fofaxfofa_viewernucleihttpxip2domain

0x03 批量漏洞挖掘在线文库查询

通过访问网络漏洞资源库,搜集特定时间段的漏洞利用载荷,对网站进行大规模的漏洞探测。无论是采用佩奇还是白阁的工具,只要能够获取到漏洞测试代码(poc),均可使用。

佩奇文库

图片

白阁文库

图片

以下内容将通过佩奇文库进行展示,进入漏洞文库,您可以查找到所需的语句。

图片

通过上述提及的网络空间资产探测工具进行资产搜索,诸如fofa、shodan、360quake、奇安信的hunter以及零零信安等测绘工具均可用于查找相关资产。在这些工具中,我个人的偏好是fofa。

这类系统架构,如OA系统,通常具备明显的特征标记,这使得它们能够轻易地在空间搜索引擎中大量定位。通过分析产品的漏洞,我们可以识别出该产品的资产,进而对它们进行大规模的测试。

图片

通过语句定位至产品,我们便能够观察到与之相关的各项资产。不妨随意挑选一个网站,一探究竟,看看它是否符合我们的需求。

图片

任何未经授权的检测都应适可而止,只需指出潜在漏洞的风险所在,继续深入便显得失礼。

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

fofax:

在利用fofa空间测绘搜索引擎收集相关资产信息的过程中,此时应将所获取的资产资料妥善保存,以便后续处理。为此,我们可以借助fofax或fofa_viewer等工具,将刚刚在fofa搜索平台发现的资产信息进行导出。

图片

图片

fofa_viewer:

同样地,运用fofa_viewer工具进行资产搜集,并将我们刚刚在fofa平台搜索到的相关资产信息进行导出处理。

图片

图片

批量探测网站存活状态

运用httpx工具对所搜集的网址进行生存状况的核实,先是从中挑选出那些依然活跃的网址,接着再对它们进行检测,如此操作可以避免不必要的耗时,因此我们用httpx将那些存活的网址记录并保存在文件里。

运行httpx.exe程序时,需设置超时时间为15秒,同时指定范围文件为fanwei.txt,输出结果保存至result.txt文件,并且设定最大重定向次数为200次。

图片

图片

批量测试漏洞

依据泛微OA E-Cology BshServlet的远程代码执行缺陷,该缺陷具有命令执行的特性,因此,我们可编写一个具备多线程功能的检测脚本。

from os import O_EXCLimport requestsimport threading
def POC_1(target_url,ss): vuln_url = target_url + 此路径指向名为“weaver”的包,其中包含了名为“bsh.servlet”的子包,该子包中有一个名为“BshServlet”的Servlet类。 headers = { "User-Agent": Mozilla版本为5.0,操作系统为Windows NT 10.0,架构为Win64,位数为x64。浏览器内核基于AppleWebKit,版本号为537.36,兼容KHTML,类似Gecko。具体到浏览器,版本是Chrome 87.0.4280.141,使用的网络浏览器引擎为Safari,同样版本号为537.36。, "Content-Type": 此编码类型为application/x-www-form-urlencoded。, } try:response = 使用requests库执行get请求,目标URL为vuln_url,携带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','')创建一个线程,其目标函数为POC_1,并将ip和ss作为参数传递,随后启动该线程。

图片

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

图片

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

图片

图片

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

图片

图片

获取存在缺陷的URL信息后,我们应当对这些资料进行一番处理,其大致的方法论可以概括为:

漏洞url

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

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

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

通过查阅注册名称,我们可以获取企业的各项信息,诸如企业所处的地域和所属行业等,以下内容将逐一阐述,敬请耐心聆听。

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

在向补天或其它漏洞平台提交问题时,你会注意到平台会明确指出提交漏洞的特定规则,即公益SRC漏洞网站的主站权重必须达到一定的标准值才能被纳入收录。那么,这个权重值究竟是什么意思呢?网站权重,实际上是指搜索引擎对网站(以及网页)赋予的一种权威性评分,用以对网站(包括网页)的权威性进行评估和评价。网站的权重越高,其在搜索引擎中的重要性就越显著,相应地,排名也会更加靠前。要达到补天的标准,需要百度移动权重不低于1,或者百度PC权重不低于1,亦或是谷歌权重不低于3,而具体的权重数据应以爱站检测的结果为准。

爱站:

图片

我们必须对所搜集的含有缺陷的URL清单进行操作,实现基于IP地址查询域名,再由域名查询权重的功能。Python编程语言威力强大,学习Python能让人受益无穷。因此,我们采用Python编写了这样一个功能:通过IP地址查询域名,再由域名查询权重。由于部分站点属于IP站点,若要查询权重,必须找到与IP相对应的域名,因此我们亟需一个具备IP反向查询域名功能的脚本。

#-- coding:UTF-8 --import re, timefrom urllib.parse import urlparseimport requestsfrom fake_useragent import UserAgentfrom tqdm import tqdmimport os
# 爱站def aizhan_chaxun(ip, ua): aizhan_headers = { 'Host': 'dns.aizhan.com', 'User-Agent': ua.random, 'Accept': 拒绝接受以'text/html'、'application/xhtml+xml'、'application/xml'为主要类型,其次为'image/webp',以及所有其他类型,其质量系数分别为0.9、0.8和0.8。, 'Accept-Language': 中文地区设置为简体中文,权重为0.8,繁体中文地区设置为繁体中文,权重为0.7,香港繁体中文地区设置为香港繁体中文,权重为0.5,美国英语地区设置为美式英语,权重为0.3,英语地区设置为英语,权重为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,头部信息为aizhan_headers,超时时间为timeout,逗号分隔。2).text aizhan_nums = re.findall(r'''(.*?)''', aizhan_r) if int(aizhan_nums[0]) > 0: aizhan_domains = re.findall(禁止点击含有特定属性的链接,且在点击后新窗口将不会打开。''', 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).netlocaizhan_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)

将之前搜集到的含有缺陷的网址,逐一录入名为“待IP反查.txt”的文档中,完成这一步骤后,再启动相应的脚本程序。

运行结果:

图片

获取到解析后的域名信息后,我们需对其权重进行进一步的检验,为此,我们选择了爱站平台进行权重检测,并使用了一个专门用于批量检测权重的脚本工具。

# -- coding:UTF-8 --import requests   import reimport getoptimport sysimport threadpoolimport urllib.parseimport urllib.requestimport sslfrom urllib.error import HTTPError,URLErrorimport time将默认的SSL创建上下文设定为标准库的SSL创建上下文。

headers={'Host': 'baidurank.aizhan.com','User-Agent': Mozilla版本为5.0,运行于Windows NT 10.0操作系统,采用Win64位架构,x64处理器;基于AppleWebKit 537.36引擎,类似Gecko;使用Chrome浏览器,版本号为80.0.3987.163;通过Safari浏览器,版本同样为537.36。,'Sec-Fetch-Dest': 'document','Accept': 该请求头中列出了多种内容类型,包括text/html、application/xhtml+xml和application/xml,它们的优先级分别为0.9。同时,还包括了image/webp和image/apng,这些类型的优先级为0.8。此外,还指定了*/*,其优先级为0.8,以及application/signed-exchange,其版本为v=b3,优先级同样为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请求,设定超时时间为10).text http_or_find = 1result_pc = 使用正则表达式编译后,re.findall函数对特定模式进行匹配,从而获取所需结果。r'谷歌PR:(.*?)/>'), 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 = 该URL指向的API接口,用于查询指定域名的百度排名,其请求参数包括域名和样式类型,返回结果以文本形式呈现。.format(domain) try:
请求对象req被创建,基于urllib.request模块的Request类,其URL为aizhan_pc,同时附带headers参数。response = urllib.request.open(req,),超时时间为timeout。10) b = response.read() a = b.decode("utf8") result_pc = re.findall(re.compile(r'>(.*?)'),a) pc = result_pc[0]
except HTTPError as u: time.sleep(3) return getPc(domain)
return pc
def getMobile(domain): aizhan_pc = 该链接指向一个API接口,该接口用于查询特定域名的排名信息,参数为域名,返回结果以文本形式呈现,访问路径为'https://baidurank.aizhan.com/api/mbr',其中{}部分需要替换为具体的域名。.format(domain) try: 执行请求时,设定了目标URL为post_url,并配备了headers头信息,同时使用了proxy代理,并设置了超时时间为7秒,最终通过requests.post方法发起了一个POST请求。 res = 使用urllib.request模块的urlopen函数打开aizhan_pc,设定超时时间为10秒。 res = 使用opener对象打开指定网站,设定超时时间为10秒。 将结果读取后,使用UTF-8编码进行解码操作,赋值给变量a。 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.compile()进行匹配,查找所有符合条件的结果。r'>(.*?)'),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 := 获取手机信息(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): # 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来初始化的。threadpool创建了多个请求,这些请求均调用名为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对应的企业,便于漏洞信息的提交。

工具链接:

图片

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

执行命令:python ip2domain.py,指定文件为存在漏洞的url.txt,设置线程数为10,启用ICP查询,并将结果输出至根据域名反查厂商.txt文件。

参数说明:-f选项用于指定执行批量查询的文件路径,-o选项用于设定查询结果输出的文件名称,-t选项用于设置查询操作的超时限制,而--icp参数则用于指定查询目标网站所对应的备案信息中的公司名称。

图片

获得公司名称后,是否就能直接提交漏洞报告呢?答案是否定的。还需完成一个关键环节,即通过公司名称查询该公司的基本信息,诸如注册地的地理位置、所属的行业类别等。这些信息在提交漏洞报告时是必须填写的。

图片

因此,我们需要通过公司名称来追溯其具体位置及所属行业等相关资料,在此向您推荐使用企查查或天眼查这两款工具。

企查查:

图片

天眼查:

图片

图片

您可以在网站上查看到公司的重要信息,包括其注册资金、所属行业以及所在地区等相关内容。

完成核查后,即可将相关内容提交至公益src平台。若内容具备权重,可提交至补天漏洞响应平台;若不具备权重,则可提交至漏洞盒子。

图片

图片

END

技术交流可加下方wx

图片

|知识星球的介绍

抱歉各位,在此为湘安无事星球做一番宣传,若您不感兴趣,请随意滑动屏幕即可。若想加入该星球并享受优惠,请添加下方微信。

1.群主为什么要建知识星球?

这主要是为了谋生嘛,哈哈,同时呢,也是为了搭建一个交流、学习和资源共享的平台。相应的也收取费用嘛,毕竟维持星球也需要精力

2.知识星球有哪些资源?

在群里与群主沟通,可以获取一些免费的学习资源,这主要是因为群成员主要是大学生。大学生不就是喜欢白嫖,所以大家会共享一些资料没有的群主wk也有,wk除了不会pc,其他都能嫖hhh

一些实战报告,截的部分

图片

图片

一些1day的漏洞利用示例,这主要涉及信息不对称,若不愿自行寻找,可让wk代为操作,群主亦会频繁分享。

一些共享的资源

1.刀客源码的高级会员2.FOFA在线查询与下载,key使用、360quakeshodan3.专属漏洞库5.专属内部it免费课程6.不定期直播分享(星球有录屏)

图片

图片

图片

网络营销渠道模式,网络营销渠道的基本类型
« 上一篇 2025-05-08
二次元妹子与三次元妹子脸部特征大揭秘:眼睛、笑容及颜值对比
下一篇 » 2025-05-08

文章评论