漏洞批量利用扫描框架



0x00  前言

每次漏洞爆发之后,很多人都在急着找批量,想着能多刷几个洞提交乌云上。其实有些漏洞的探测步骤很多时间是可以统一抽取做成框架的。今天我就分享一下自己写的一个漏洞批量利用的框架,运用这个框架,可以方便的进行一些漏洞的批量扫描。

0x01  框架的原理

漏洞的扫描一般都是URL链接挂载一个POC或者有人更狠直接上exp来尝试访问,如果服务器返回的页面中存在一些特征的字符串,那么就判定该网站存在漏洞。举个栗子,比如ecshop的某个注入漏洞,提交payload之后,网站返回下面的页面:

我们在自动化扫描的时候,就会根据这个页面中出现的比如”Duplicate entry”字样来判定,这个字符串是由于提交的payload中的MYSQL报错注入引起的。这时就需要一个判定扫描结果的正则scan_rule。

同时,有人不满足只是扫描是否有漏洞,他们希望可以从页面上获取一些信息,比如上面截图中出现了admin和密码的hash,扫描出来漏洞站点后,我们希望提取这个字符串,那么也是需要有一个抓取正则res_rule。

此外,本框架不会提供待扫描的IP列表或者域名列表,这些东西需要做批量的哥们儿自己用一些URL采集器去采集。框架本身只提供载入、扫描、结果抓取等功能。并且支持多线程探测。

0x02  框架的使用

本框架只需要准备好待扫描的IP或者域名列表,以及一个可靠的exp或者poc即可。最后你只需要配置这个框架的配置文件,然后执行脚本就可以跑了。

配置文件的各个选项如下:

关于详细的使用信息,可以访问阅读README.md。

https://github.com/OneSourceCat/scan-framework

需要注意的是,ip或者域名列表要带上http://协议头,如下:

0x03 使用案例

进行s2-016的扫描,配置文件和上面一致,由于是URL模式,所以配置项中的raw_file不用填写,直接运行Python cli.py -m url即可运行脚本:

结果集文件会进行记录:

此外,框架还支持POST方式提交漏洞探测数据包以及使用原生的http请求报文进行探测。

由于框架昨天写完,所以会有比较粗糙的地方没有进行处理,如果有bug,请私信我。

项目地址:https://github.com/OneSourceCat/scan-framework

时间: 2024-10-19 03:57:30

漏洞批量利用扫描框架的相关文章

Bash远程代码执行漏洞批量利用脚本

Bash远程代码执行漏洞的威力确实要比心脏滴血大很多,但是影响范围不是很广泛,不过昨天的分析文章Bash远程代码执行漏洞分析中末尾提到了这个漏洞的批量问题. 其中最最简单的方法就是使用搜索引擎的hacking技术,这里我使用的Google Hacking语法结合Google API来进行链接的抓取.只不过在国内的话....需要加代理. 程序中的代理是我本地的goagent代理,端口是8087.如何检测漏洞思路也很简单,我这里直接根据服务器返回码进行判断的. 思路就是以上这些,下面还是和往常一样,

实战讲解XXE漏洞的利用与防御策略

现在许多不同的客户端技术都可以使用XMl向业务应用程序发送消息,为了使应用程序使用自定义的XML消息,应用程序必须先去解析XML文档,并且检查XML格式是否正确.当解析器允许XML外部实体解析时,就会造成XXE漏洞,导致服务器被攻击.本期"安仔课堂",ISEC实验室的李老师为我们详细解析XXE漏洞的利用和防御.   一.XML基础知识  XML是用于标记电子文件并使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.XML文档结构包括

栈溢出漏洞的利用和缓解

一直有人说这个时代做渗透太难了, 各个平台都开始重视安全性, 不像十几年前, 随便有个栈溢出就能轻松利用. 现在的环境对于新手而言确实不算友好, 上来就需要 面临着各种边界保护, 堆栈保护, 地址布局随机化. 但现实如此, 与其抱怨, 不如直面现实, 拥抱变化, 对吧? 本文所演示的环境为64位Linux+32位ELF程序. 文中所用到的代码和exp皆可在github仓库中找到. 前言 知识准备 首先, 当然是要先了解什么是栈溢出. 要了解栈溢出, 就必须要先知道栈的布局. 以32位应用程序为例

有关于二进制漏洞和利用的碎碎念

有关于二进制漏洞和利用的碎碎念 划水作品 偷闲记录一下二进制方面的各种概念,各种原理,各种利用等等,方便过后查阅,也为之后的学习路线列一个大的框架,主要内容还是针对CTF中的pwn,实际漏洞也有这些方面,不过就需要花更多的精力慢慢硬磕了. 栈溢出 由于种种原因,这是本人学习时间最长的一种漏洞,学的时候还有乌云,学完... 栈溢出原理很简单,就是栈上的数据没有合理的被控制,从而使得输入数据超出它本应该在的范围,越界少的可能只是局部变量覆盖,多的就是劫持控制流,不同情况造成不同的后果. 栈溢出是二进

NSArray利用Cocoa框架进行汉字排序

NSArray利用Cocoa框架进行汉字排序 在NSString有一个函数localizedCompare:,它的功能是通过自身与给定字符串的比較,返回一个本地化的比較结果.也就是说这个函数是支持汉字比較的. Student.h @interface Student : NSObject @property(nonatomic,copy)NSString *stuName; @property(nonatomic,assign)CGFloat stuScore; @property(nonato

Java反序列化漏洞通用利用分析

2015年11月6日,FoxGlove Security安全团队的@breenmachine 发布的一篇博客[3]中介绍了如何利用Java反序列化漏洞,来攻击最新版的WebLogic.WebSphere.JBoss.Jenkins.OpenNMS这些大名鼎鼎的Java应用,实现远程代码执行. 然而事实上,博客作者并不是漏洞发现者.博客中提到,早在2015年的1月28号,Gabriel Lawrence (@gebl)和Chris Frohoff (@frohoff)在AppSecCali上给出了

JAVA Apache-CommonsCollections 序列化漏洞分析以及漏洞高级利用

作者: 随风 漏洞原理分析 该漏洞的出现的根源在CommonsCollections组件中对于集合的操作存在可以进行反射调用的方法,并且该方法在相关对象反序列化时并未进行任何校验,新版本的修复方案对相关反射调用进行了限制. 问题函数主要出现在org.apache.commons.collections.Transformer接口上,我们可以看到该接口值定义了一个方法 我们可以看到该方法的作用是给定一个Object对象经过转换后同时也返回一个Object,我们来看看该接口有哪些实现类 这些tran

脚本应用之四: 批量端口扫描

作用:批量端口扫描,可根据扫描主机的配置调整后台扫描进程数量 实现:使用nc指令扫描端口, 使用管道特性控制后台扫描进程数量 不足:仅仅对扫描端口状态为down的信息做记录,并没有其他报警操作 使用:需要提供包含被扫描主机的ip地址.协议和端口号的配置文件(格式见演示或代码专区注释) 演示:

Socket在iOS客户端上的简单实现 - 利用GCAsyncSocket框架

GCAsyncSocket 这是一个2003的开发出来的一个开源框架 首先把GCDAsyncSocket的.h和.m文件拖入到工程中 试图控制器遵守GCDAsyncSocketDelegate协议 实例:在页面上有一个简单的textView和textField 在textField中输入文字后,点击发送即可把文字发送到服务器 ,服务器端返回的文字数据会显示到textView上 //  服务器主机ip地址#define kHost @"172.16.3.101"//  服务器主机通信端口