Python部署rad+xray自动化
时间:2022-07-26
本文章向大家介绍Python部署rad+xray自动化,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
写在前面
跑自动化通常都是挖洞的一个选择之一,所以拿漏扫工具来扫肯定是必不可少的一环,但是工具肯定不能放在本地跑,第一是防止发包量过大导致IP被Ban,第二是你要睡觉,总不能,一个跑完了,你自己手动选择下一个目标跑(哦是我懒啊,那没事了)
说起来,之前还“魔改”过别人的一个项目,但之所以打了个双引号是我后来发现其实我根本没改什么东西。。
这个脚本针对的是xray高级版,社区版日后再说吧,我是懒狗
正文
环境
- Ubuntu
- Python3.x
首先安装rad
rad github:
https://github.com/chaitin/rad
下载地址:
https://github.com/chaitin/rad/releases
在服务器中执行命令
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
xray github:
https://github.com/chaitin/xray
下载地址:
https://github.com/chaitin/xray/releases
执行下面命令下载xray并给权限
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放在一起
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发现进不去,可以考虑
screen -d -r <session_name>
运行的时候,如果你不想看着满屏幕的刷,可以考虑
python3 elapse.py > shell.txt &
然后
tail -n 10 shell.txt
即可
最后来一个大整合
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
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(44)-工作流设计-设计表单
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(43)-工作流设计-字段分类设计
- 因为这个原因,你的工作即将被取代!
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(73)-微信公众平台开发-消息管理
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(72)-微信公众平台开发-消息处理
- 充斥着AI生成内容的世界,你能辨别虚拟与现实吗?
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(71)-微信公众平台开发-公众号管理
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(69)-微信公众平台开发-功能概述
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(68)-微信公众平台开发- 资源环境准备
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(70)-微信公众平台开发-成为开发者
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(70)-微信公众平台开发-成为开发者
- 一口价!3杂7bc.com16万易主
- Silverlight初级教程-动画
- WCF技术剖析之十:调用WCF服务的客户端应该如何进行异常处理
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 一帧图像的Android之旅 :应用的首个绘制请求
- Mac免密码登录linux服务器
- 目标检测算法YOLO-V2详解
- 神经网络架构搜索——可微分搜索(Noisy DARTS)
- 教你使用 Jacoco 统计服务端代码覆盖率
- 如何在树莓派4B上设置EMQX开机自启动
- 如何使用 Ktor 快速开发 Web 项目
- 神经网络架构搜索——二值可微分搜索(BATS)
- UEFI 原理与编程 1 - UEFI开发环境EDK2搭建
- 【Unity】瞎做个宝石迷阵吧!(1)——构建场景
- VUE组件传值案例讲解
- 【JAVA】来写个JAVA的HelloWorld吧!
- 如何发布自己的项目到Maven中央仓库?
- 《闲扯Redis八》Redis字典的哈希表执行Rehash过程分析
- 为什么说在Android中请求权限从来都不是一件简单的事情?