介绍
众所周知xray
是可以进行子域名爆破、查询的,但是导出来的是html
,不利于我部署自动化任务
而且出来的结果,有的是类似泛解析一样的,比如访问a网页会跳转到c网页,访问b网页也会跳转到c网页,c网页是专门用来处理访问不到页面后跳转的,所以专门写了个脚本来导出,并且清理数据
这个脚本只导出http状态码为200的,有需要可以自行添加
正文
先导入所需要的库
1import sys
2import re
3import os
4import time
5import requests
首先获取文件名
1...
2#判断是否存在文件名
3try:
4 filename = sys.argv[1]
5 #w_filename=sys.argv[2]
6except:
7 print("Usage: python Elapse.py <subdomain file> #d<saved file name>")
8 time.sleep(3)
9 sys.exit(0)
xray中查询子域名导出的html,一份只能有500个子域名,多了的话,就会新保存一个文件,并且命名500-filename.html
,每次多500
所以写一个自动往下查询的
1#检测文件是否存在,并自动往后查询
2def check_file(filename):
3 filelist=[]
4 #判断是否存在类似500-sub.html的格式
5 file_num=re.findall('(d*)-.*.html',filename)
6 if file_num:
7 num=int(file_num[0])
8 initfile=filename.replace(str(num)+"-",'')
9 else:
10 #如果没有,那就初始化为0
11 num=0
12 while True:
13 a=os.path.isfile(filename)
14 if a:
15 filelist.append(filename)
16 num+=500
17 filename=str(num)+"-"+initfile
18 else:
19
20 print("文件: "+filename+" 不存在,正在导出列表...")
21 return filelist
因为有的时候可能是从500-sub.html开始查询,所以写了个正则匹配这个格式,有的话,那就保存你当前的数字,然后下一次加500
接着开始主体
1...
2checkexist=check_file(filename)
3num=1
4for forname in checkexist:
5 w_filename="result-"+str(num)+".txt"
6 sub_file = open(forname,"r",encoding="utf-8")
7 write_file=open(w_filename,"a",encoding='UTF-8')
保存的文件也理所当然的需要用变
1...
2 #sub用于判断是否重复
3 sub=[]
4
5 for i in sub_file:
6 # 无脑匹配url和状态码和title
7 result=re.findall(r'{"link":"(.*?)","status":(.*?),"title":"(.*?)","server',i)
8 try:
9 url=result[0][0]
10 http_code=result[0][1]
11 title=result[0][2]
12 if http_code != "200":
13 print("状态码非200,正在跳过处理...")
14 continue
15 repeat=findurl(url)
16 if repeat in sub:
17 print("检测到302跳转后类似泛解析,正在跳过处理...")
18 else:
19 sub.append(repeat)
20 write_file.write(url+"n")
21 print("成功写入一条数据...")
22 print("url: "+url+" code: "+http_code+" title: "+title)
23 except:
24 print("这行未检测到内容...")
25 #traceback.print_exc()
26 pass
27
28 sub_file.close()
29 write_file.close()
30 num+=1
github:https://github.com/Ernket/xray_subdomain_export
最后祝各位中秋节、国庆节快乐
原文始发于微信公众号(E条咸鱼):xray子域名扫描结果导出
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论