漏洞平台_批量挖SRC漏洞的一种打开方式_手把手教黑客入门教程

漏洞平台_批量挖SRC漏洞的一种打开方式_手把手教黑客入门教程

混迹在各大SRC平台的白帽子手里都握着很多法宝,或私藏或公开。而给大家介绍下基于cms的漏洞扫描,如何挖漏洞。

一、绪论

1.1 首先获取补天厂商名单,这里保存在d:/.txt。你也可以放入各大src的域名

1.2 本cms是基于知道创宇的二次开发。漏洞扫描器主要是扫描平台的整体框架设计,而真正需要耗时和长期维护的便是poc的编写与扩充。这里,重点在于poc的编写与扩充。

1.3 编写poc并批量扫描网站,将存在漏洞网站提交漏洞给相应厂商

图片.png

二、系统设计2.1 系统体系结构设计

本系统是基于CMS的漏洞扫描工具,确切来说是使用作为脚本语言,使用PoC 编写的 SDK,自动化的调用测试,将按照一定格式写成py文件,并注册为类,为工具调用。支持验证与利用两种插件模式,你可以指定单个目标或者从文件导入多个目标,使用单个 PoC 或者 PoC 集合进行漏洞的验证或利用。可以使用命令行模式进行调用,也支持类似 的交互模式进行处理,除此之外,还包含了一些基本的如输出结果报告等功能。本文采用这一poc开发框架,主要使用乌云作为漏洞获取平台,在实际批量扫描的过程中用多线程、锁、队列来实现,扫描结果直接写入doc文件,在采集漏洞信息编写文件要选择尽可能详细的内容,包括漏洞名称,漏洞编号,漏洞来源,漏洞发布时间,漏洞厂商,漏洞CMS类型,漏洞版本,漏洞编写人,漏洞编写时间,漏洞详情,漏洞修复方案,漏洞类型,漏洞原理等等。这样方便以后对此漏洞的查阅修改以及漏洞结果更为自动人性化输出。本系统运行流程图,如图 2-1所示:

图片.png

图 2-1 系统运行流程图

2.2 详细功能模块设计

2.2.1 基础扫描框架功能设计

本系统采用作为poc开发框架,在此基础上修改代码使更适合本系统设计目标,并编写漏洞文件使增加丰富系统漏洞扫描,即可执行命令启动程序运行。这边对他进行改动如下:

(1)文件格式,增加漏洞修复、漏洞描述、漏洞等级等内容。

(2)漏洞结果生成。这边改动为,生成随机文件夹里面每个url每个文件生成一个doc文件,文件名格式[网站域名].doc,文件内容使用的库docx来生成doc格式的文件。

2.2.2 漏洞类型功能设计

CMS漏洞类型较多,常见的有:命令执行,SQL注入,XSS攻击,逻辑漏洞,越权操作,文件上传,文件读取等等。这些漏洞类型又可以继续往下细分。在实际编写时,要根据具体情况,编写文件,不是每种漏洞都可以编写文件进行批量扫描。需要在CMS漏洞类型的确认上下功夫,接下来会拿SQL注入和XSS来做分析。

1.SQL注入漏洞

包括布尔型注入,报错型注入,可联合查询注入,可多语句查询注入,基于时间延迟注入五种,其中布尔型注入在编写POC的时候是不能编写到工具中的。我们判断是否存在注入只能通过构造特殊语句发送请求,返回页面是否正常。正常页面和错误页面的不同因网站源码设计而不同,无法写出通用规则。基于时间延迟注入编写出的POC是基于两个不同的请求判断响应时间,如果第一个请求=5秒,算漏洞存在[10]。由于网络原因请求时间会有延迟,导致恰好满足漏洞存在条件批量扫描时候显示漏洞存在,实则属于误报。这样每次批量扫描之后还需要手工验证漏洞是否存在,那么这种漏洞就没必要加进来。所以,在选择SQL注入的时候,避开这两种类型。规范如图 3-2 所示:

图片.png

图3-2 编写SQL注入POC流程图

2.XSS攻击

如果网站仅仅能弹出框,并不能在页面源码上造成可识别的影响,我们在编写利用脚本的时候无法准确判断是否存在漏洞。除非对网页造成影响,通过一些唯一特定,可以确定就是这种CMS类型。比如 5.7的///.swf文件中的参数没有经过有效过滤,且影响的是swf文件,导致跨站脚本漏洞。我们在利用时候只能弹出框,尚不能编写出具有唯一标识的。编写为///.swf?=%22]%29}catch%28e%29{if%28!.x%29{.x=1;alert%28%22xss%22%29}}//。页面未造成影响不能继续深入,只好作罢。

综上,实际操作时候要像计划靠拢,由于场景不同导致可能与计划有一定偏差。

2.2.3 系统运行设计

CMS漏洞扫描工具是通过输入不同的命令来控制不同的扫描方式。输入命令将程序运行,然后输出一些界面信息比如什么工具、什么版本、当前运行时间之类表示程序已经启动,接着是,开启线程调用注册过的POC类,批量扫描,扫描过程界面上会实时显示扫描的网站信息,最后扫描结束,生成报告日志。系统运行流程如图 3-3 所示:

图片.png

图2-2-3 系统运行流程图

三、系统实现3.1 系统整体模块实现

工具需要最基本核心的是基本框架的实现,只需要把重心放在基本框架上对于多线程的写入提高了系统运行效率,其他就是源源不断的整合CMS漏洞,写出的只需要按照一定格式写进入就可以使整个工具跑起来,不需要把精力放在如何跑起来这种重复的工作上。程序运行起来的过程是:启动入口文件.py,调用/.py里main(),接着调用()将程序启动起来。目录结构如表 3-1 所示:

表3-1 目录结构表,其中文件夹里面是让程序运行起来的文件函数以及第三方库,目录结构如下:

├── docs #说明文档

├── POCAPI.md #POC编写规范及相关API

├── pocsuite #pocsuite主程序

│   ├── data #基础数据

│   ├── lib

│   │   ├──controller

│   │   ├──core #核心组件

│   │   ├──parse #参数处理封装

│   │   ├──request #网络请求封装

│   │   └──utils #常用工具包

│   ├── modules

│   │   └──tmp #临时目录

│   ├── pcs-attack.py #攻击程序

│   ├── pcs-console.py #控制台程序

│   ├── pcs-verify.py #验证程序

│   ├── pocsuite.py #pocsuite主入口程序

│   ├── tests #测试poc目录

│   └── thirdparty #第三方库

└── README.md

Test文件夹是编写的CMS漏洞的文件。包含haha,两个子文件夹。haha文件夹里的文件是验证成功率100%,完全不用人工参与,输出数据完全正确可信。time-sql-inj是时间盲注,也就是由于网络原因可能造成误差的文件,我们无法消除,只能通过二次运行来确认漏洞是否存在。

haha文件夹内容根据漏洞类型化为为不同的文件夹存储。由上而下分别是:代码执行漏洞,设计漏洞,文件下载漏洞,文件读取漏洞,文件上传漏洞,信息泄露,,解析漏洞,SQL注入漏洞,URL重定向漏洞,XSS攻击漏洞。

haha文件夹如图 3-1-1 所示:

图片.png

图3-1-1 haha文件夹目录结构图

这些文件夹里面是关于所有相同漏洞类型可以是不同CMS的文件。拿来说里面包含的CMS类型有:

,,eYou,,OhHu,,,,,,,,,,,ZuiTu等。如图 3-1-2 所示:

图片.png

图 3-1-2 文件夹目录结构图

3.2 基础扫描框架模块

扫描结束生成报告文件,我这边设计的是生成doc文件,利用库docx里面的来制定通用doc生成规则。Kb.里面存放的是验证结果的数据部分,对它进行循环取各部分值插入到doc文件相应位置。

图片.png

3.3 文件编写模块

3.3.1 编撰文件通用规则

本模块实现了在批量的同时,有一些站为了防机器人,需要看你有没有 HTTP 请求头的,比如有一些 WAF 会检测请求中是否有 User-Agent, 所以 PoC 中需要 。

代码整体结构:

图片.png

最上面是引入一些类库,中部是一个 PoC 的类,继承自 类,类中有两个函数,和 ,这两个分别是 和 模式的入口函数,然后还有一个用户自己定义的函数 , 用于统一输出。类里的变量是对漏洞描述的详细介绍,由上而下为:漏洞id,工具版本,漏洞编写者,漏洞发布时间,漏洞写入工具时间,漏洞文件最近更新时间,漏洞来源,漏洞名称,CMS链接,CMS名称,CMS版本,漏洞类型所属文件,漏洞类型,漏洞原理,漏洞修复,漏洞危害级别,漏洞详情描述。有了这些变量在漏洞扫描结束这些信息会选择性的写入漏洞结果的doc文件。

其中,/lib/.py文件是写一些编写文件常用到的函数。

图片.png

图片.png

3.3.2 编撰文件

由于编写文件流程都一样,这里拿asp来举例。通常还会有jsp,php,java等不同脚本语言写的cms。比如漏洞:最新版本可下载数据库直接破密码,是asp写的cms。漏洞原因可直接访问//.mdb路径,下载数据库文件到本地。把文件用Easy 打开,表结构及中数据如图 3-3-2-1 所示:

图片.png

图 3-3-2-1 数据库表结构图

由图知,用户名为admin 密码为。凭经验看出密码是经过MD5加密之后存到数据库中,我们在网站上MD5解密之后得到密码为,如图 3-3-2-2 所示:

图片.png

图 3-3-2-2 MD5解密图

有了账号用户名密码之后接下来就不用说了,我们可以通过御剑扫描或凭借渗透经验找到后台网址,登录用户名密码,进入后台,查看后台是否有权限直接或间接上传,进而提权,控制服务器等等。目前都已经有网站的数据库了,可以拿到网站所有数据。

接下来,尝试编写然后找环境来测试编写的是否成功。先本地搭建asp运行环境,下载小旋风Asp Web服务器,安装之后开启软件,尝试下载漏洞相应版本到本地,经过测试是v9.5的版本,本地测试漏洞恰好存在。访问链接//.mdb如图 3-3-2-3 所示:

图片.png

图 3-3-2-3 访问链接图

这里点击保存把文件下载下来,这边用text文件下载下来会发现mdb文件里面都有 Jet DB,所以编写时候可以模拟请求获取下载文件读取文件然后查找是否有关键字 DB。这就是漏洞编写的原理。

编写完之后进行运行是否成功。如图 3-3-2-4 所示:

图片.png

图 3-3-2-5 运行测试图

这样证明我们的文件编写正确了。还需要批量扫描50个网站,查看扫描结果,对验证成功的网站人工验证是否成功,修正并反复这一过程,来提高的准确率。

文件编写流程如图所示:找到漏洞来源网站分析漏洞原因-本地搭建环境或网络上找漏洞环境进行测试漏洞写出,编写文件,用工具验证是否成功,用一千个网站跑这一文件验证是否有误差,如有误差重新编写继续上述过程。

~

网络安全学习,我们一起交流

~

  • 18
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值