写在前面
跑自动化通常都是挖洞的一个选择之一,所以拿漏扫工具来扫肯定是必不可少的一环,但是工具肯定不能放在本地跑,第一是防止发包量过大导致IP被Ban,第二是你要睡觉,总不能,一个跑完了,你自己手动选择下一个目标跑(哦是我懒啊,那没事了)
说起来,之前还“魔改”过别人的一个项目,但之所以打了个双引号是我后来发现其实我根本没改什么东西。。
这个脚本针对的是xray高级版,社区版日后再说吧,我是懒狗
正文
环境
- Ubuntu
- Python3.x
首先安装rad
代码语言:javascript复制rad github:
https://github.com/chaitin/rad
下载地址:
https://github.com/chaitin/rad/releases
在服务器中执行命令
代码语言:javascript复制wget https://github.com/chaitin/rad/releases/download/0.2/rad_linux_386.zip && unzip rad_linux_386.zip && mv rad_linux_386 rad && chmod 777 rad
如果你的服务器没有unzip
的话,还需要单独
apt install unzip -y
接着安装xray
代码语言:javascript复制xray github:
https://github.com/chaitin/xray
下载地址:
https://github.com/chaitin/xray/releases
执行下面命令下载xray并给权限
代码语言:javascript复制wget https://github.com/chaitin/xray/releases/download/1.3.3/xray_linux_386.zip && unzip xray_linux_386.zip && mv xray_linux_386 xray && chmod 777 xray
接着把xray-license.lic
文件放入同目录即可(高级版的lic文件)
我的脚本是从result-1.txt
中读取域名,也就是说,你把你需要批量扫的域名放入这个文件,然后运行即可
将此脚本和xray、rad放在一起
代码语言:javascript复制import subprocess
sub_list=open("result-1.txt",'r',encoding='utf-8')
num=1
for i in sub_list:
result_save_filename="result-" str(num) ".html"
i=i.replace('n','')
dd="xray webscan --browser-crawler " str(i) " --html-output " result_save_filename
cmd=[dd] #dd是我家的猫,他很可爱,所以我拿来命名了
rsp = subprocess.Popen(cmd ,shell=True)
rsp.wait()
print("Subdomain: " str(i) " is Done!")
num =1
跑的时候记得进入screen
中运行,如果不弄,那么你只要断开ssh,那么会话结束,你运行的东西也会一起结束,这个玩意不多细讲,百度比我更详细,只说关键
screen -S <session_name> # 创建一个名为xxx的会话
screen -r <session_name> # 回到名为xxx的会话
如果-r发现进不去,可以考虑
代码语言:javascript复制screen -d -r <session_name>
运行的时候,如果你不想看着满屏幕的刷,可以考虑
代码语言:javascript复制python3 elapse.py > shell.txt &
然后
代码语言:javascript复制tail -n 10 shell.txt
即可
最后来一个大整合
代码语言:javascript复制mkdir xray && cd xray && wget https://github.com/chaitin/rad/releases/download/0.2/rad_linux_386.zip && unzip rad_linux_386.zip && mv rad_linux_386 rad && chmod 777 rad && wget https://github.com/chaitin/xray/releases/download/1.3.3/xray_linux_386.zip && unzip xray_linux_386.zip && mv xray_linux_386 xray && chmod 777 xray