加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
scan.py 10.67 KB
一键复制 编辑 原始数据 按行查看 历史
ExpLang 提交于 2021-08-12 11:25 . init
from re import U
import rich
import time
import plus.scan
import cmd2 as cmd
from rich.console import Console
from os import altsep, read, system, name
def clear():
# for windows
if name == 'nt':
_ = system('cls')
print('''
██╗ ██╗ ██╗██╗ ██╗██╗ ██╗ ███████╗██╗ ██╗██████╗ ██╗ █████╗ ███╗ ██╗ ██████╗
╚██╗ ██╔╝ ██║╚██╗██╔╝╚██╗██╔╝ ██╔════╝╚██╗██╔╝██╔══██╗██║ ██╔══██╗████╗ ██║██╔════╝
╚████╔╝ ██║ ╚███╔╝ ╚███╔╝█████╗█████╗ ╚███╔╝ ██████╔╝██║ ███████║██╔██╗ ██║██║ ███╗
╚██╔╝██ ██║ ██╔██╗ ██╔██╗╚════╝██╔══╝ ██╔██╗ ██╔═══╝ ██║ ██╔══██║██║╚██╗██║██║ ██║
██║ ╚█████╔╝██╔╝ ██╗██╔╝ ██╗ ███████╗██╔╝ ██╗██║ ███████╗██║ ██║██║ ╚████║╚██████╔╝
╚═╝ ╚════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝
\033[1;31m---Info:ExpLang\033[0m
\033[1;35m---Team:Secpt\033[0m''')
else:
_ = system('clear')
print('''
██╗ ██╗ ██╗██╗ ██╗██╗ ██╗ ███████╗██╗ ██╗██████╗ ██╗ █████╗ ███╗ ██╗ ██████╗
╚██╗ ██╔╝ ██║╚██╗██╔╝╚██╗██╔╝ ██╔════╝╚██╗██╔╝██╔══██╗██║ ██╔══██╗████╗ ██║██╔════╝
╚████╔╝ ██║ ╚███╔╝ ╚███╔╝█████╗█████╗ ╚███╔╝ ██████╔╝██║ ███████║██╔██╗ ██║██║ ███╗
╚██╔╝██ ██║ ██╔██╗ ██╔██╗╚════╝██╔══╝ ██╔██╗ ██╔═══╝ ██║ ██╔══██║██║╚██╗██║██║ ██║
██║ ╚█████╔╝██╔╝ ██╗██╔╝ ██╗ ███████╗██╔╝ ██╗██║ ███████╗██║ ██║██║ ╚████║╚██████╔╝
╚═╝ ╚════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝
\033[1;31m---Info:ExpLang\033[0m
\033[1;35m---Team:Secpt\033[0m''')
class hacktools(cmd.Cmd):
prompt = time.strftime('\033[1;31mScanTools\033[0m\033[1;35m\033[0m\033[0m\033[33m >> \033[0m\033[32m')
def do_install(self, line):
plus.scan.install()
def do_portscan(self, line):
'''\033[1;31m
快速对IP扫描常见端口\033[32m
'''
ip = input("\033[1;31m请输入扫描的IP:\033[32m")
plus.scan.portscan(ip)
def do_pocscan(self, line):
'''\033[1;31m
快速在网站的js文件中提取URL,子域名\033[32m
\033[33m
1.致远OA_A6_createMysql_数据库敏感信息泄露
2.致远OA_A6_DownExcelBeanServlet_用户敏感信息下载
3.致远OA_A6_initDataAssess_用户敏感信息泄露
4.致远OA_A6_setextno_SQL注入Getshell
5.致远OA_A6_test_SQL注入Getshell
6.致远OA_A8_htmlofficeservlet_RCE
7.致远OA_getSessionList_Session泄漏
8.致远OA_ajax_登录绕过_任意文件上传
9.致远OA_webmail_任意文件下载
10.致远OA_Session泄露_任意文件上传
11.致远OA_Fastjson_反序列化
12.泛微云桥任意文件读取
13.泛微 WorkflowServiceXml RCE
14.泛微OA V8 前台Sql注入
15.泛微OA weaver.common.Ctrl 任意文件上传
16.泛微Bsh RCE
17.泛微OA WorkflowCenterTreeData接口SQL注入
18.泛微OA e-cology 数据库配置信息泄漏\033[32m
'''
print('''\033[33m
1.致远OA_A6_createMysql_数据库敏感信息泄露
2.致远OA_A6_DownExcelBeanServlet_用户敏感信息下载
3.致远OA_A6_initDataAssess_用户敏感信息泄露
4.致远OA_A6_setextno_SQL注入Getshell
5.致远OA_A6_test_SQL注入Getshell
6.致远OA_A8_htmlofficeservlet_RCE
7.致远OA_getSessionList_Session泄漏
8.致远OA_ajax_登录绕过_任意文件上传
9.致远OA_webmail_任意文件下载
10.致远OA_Session泄露_任意文件上传
11.致远OA_Fastjson_反序列化
12.泛微云桥任意文件读取
13.泛微 WorkflowServiceXml RCE
14.泛微OA V8 前台Sql注入
15.泛微OA weaver.common.Ctrl 任意文件上传
16.泛微Bsh RCE
17.泛微OA WorkflowCenterTreeData接口SQL注入
18.泛微OA e-cology 数据库配置信息泄漏\033[32m
''')
xz = input("\033[1;31m请输入你的选项:\033[32m")
target_url = input("\033[1;31m请输入扫描Url:\033[32m")
plus.scan.poc(xz, target_url)
def do_jsscan(self, line):
'''\033[1;31m
快速在网站的js文件中提取URL,子域名\033[32m
\033[33m1.对单个网站进行扫描.
2.对多个网站进行批量扫描.\033[32m
'''
print('''\033[33m
1.对单个网站进行扫描.
2.对多个网站进行批量扫描.\033[32m
''')
xz = input("\033[1;31m请输入你的选项:\033[32m")
if xz == '1':
url = input("\033[1;31m请输入扫描Url:\033[32m")
cookie = input("\033[1;31m请输入cookie(可为空):\033[32m")
plus.scan.jsscan(xz, url, cookie)
elif xz == '2':
file = input("\033[1;31m请输入待扫描文件地址:\033[32m")
cookie = input("\033[1;31m请输入cookie(可为空):\033[32m")
plus.scan.jsscan(xz, file, cookie)
def do_finger(self, line):
'''\033[31m
存活探测与重点攻击系统指纹探测\033[32m
\033[33m1.对单个网站进行检测.
2.对多个网站进行批量检测.
3.对单个IP进行检测.
4.对多个IP进行批量检测.\033[32m
'''
print('''\033[33m
1.对单个网站进行检测.
2.对多个网站进行批量检测.
3.对单个IP进行检测.
4.对多个IP进行批量检测.\033[32m
''')
xz = input("\033[1;31m请输入你的选项:\033[32m")
if xz == '1':
url = input("\033[1;31m请输入扫描Url:\033[32m")
plus.scan.finger(xz, url)
elif xz == '2':
file = input("\033[1;31m请输入待扫描文件地址:\033[32m")
plus.scan.finger(xz, file)
elif xz == '3':
file = input("\033[1;31m请输入扫描IP:\033[32m")
plus.scan.finger(xz, file)
elif xz == '4':
file = input("\033[1;31m请输入待扫描文件地址:\033[32m")
plus.scan.finger(xz, file)
def do_dirscan(self, line):
'''\033[31m
目录暴力破解的最佳工具\033[32m
\033[33m1.对单个网站进行扫描.
2.对多个网站进行批量扫描.\033[32m
'''
print('''\033[33m
\033[33m1.对单个网站进行扫描.
2.对多个网站进行批量扫描.\033[32m
''')
xz = input("\033[1;31m请输入你的选项:\033[32m")
if xz == '1':
url = input("\033[1;31m请输入扫描Url:\033[32m")
th = input("\033[1;31m请输入扫描线程(10-100):\033[32m")
report = input('\033[1;31m请输入保存文件名:\033[32m')
plus.scan.dirsearch(xz, url, th, report)
elif xz == '2':
url = input("\033[1;31m请输入待扫描文件地址:\033[32m")
th = input("\033[1;31m请输入扫描线程(10-100):\033[32m")
report = input('\033[1;31m请输入保存文件名:\033[32m')
plus.scan.dirsearch(xz, url, th, report)
def do_info(self, line):
'''\033[31m
IP威胁情报信息收集\033[32m
\033[33m1.对单个IP进行扫描.
2.对多个IP进行批量扫描.\033[32m
'''
print('''\033[33m
\033[33m1.对单个IP进行扫描.
2.对多个IP进行批量扫描.\033[32m
''')
xz = input("\033[1;31m请输入你的选项:\033[32m")
if xz == '1':
ip = input('\033[1;31m请输入检测IP:\033[32m')
report = input('请输入保存文件名:\033[32m')
plus.scan.info_tig(xz, ip, report)
elif xz == '2':
ip = input('\033[1;31m请输入待扫描文件地址:\033[32m')
report = input('\033[1;31m请输入保存文件名:\033[32m')
plus.scan.info_tig(xz, ip, report)
def do_apkscan(self, line):
'''\033[31m
提取APK内存在的Url地址\033[32m
'''
apkfile = input('\033[1;31m请输入待扫描APK地址:\033[32m')
report = input('\033[1;31m请输入保存文件名:\033[32m')
plus.scan.apkleaks(apkfile, report)
def do_clear(self, line):
'''清屏'''
clear()
def do_exit(self, line):
'''退出工具'''
return True
if __name__ == '__main__':
clear()
hacktools().cmdloop()
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化