神兵利器

Burp, Sqlmap进行自动化SQL注入渗透测试

字号+ 作者:i春秋研习社 来源:转载 2017-03-09 14:03 我要评论( )

在OWSAP Top 10中,注入型漏洞是排在第一位的,而在注入型漏洞中,SQL注入是远比命令行注入、Xpath注入、Ldap注入更常见。这就是本章要讲述的主要内容:在web应用......

在OWSAP Top 10中,注入漏洞是排在第一位的,而在注入漏洞中,SQL注入是远比命令行注入、Xpath注入、Ldap注入更常见。这就是本章要讲述的主要内容:在web应用程序的渗透测试中,如何使用Burp和Sqlmap的组合来进行SQL注入漏洞的测试。在讲述本章内容之前,默认为读者熟悉SQL的原理和SqlMap的基本使用,如果有不明白的同学,请先阅读《sql注入攻击与防御第二版》一书和SqlMap手册(最好是阅读官方文档)。
 
开始之前准备环境
你已经安装配置好了python可运行环境
你已经熟悉sqlmap的基本命令行的使用并正确安装
 
Burp Suite与SqlMap整合的插件除了BApp Store 中的SQLiPy外(如图)
还有gason和sqlmap4burp。不同的插件之间的功能大同小异,其目的都是使用命令行调用SqlMap的API接口进行SQL注入的测试,这里,我们主要以gason为例,讲述具体配置安装和功能使用。

gason插件安装使用大体分以下几个步骤:
1. 首先是下载gason插件。可以从官方下载源码自己编译,总之就是获取到插件的安装文件gason-version.jar
2. 打开Burp Extensions进行安装,点击【Add】按钮,按照图中所示操作即可

3.我还是喜欢另一个SQLmap插件
首先安装sqlmap,传送门:http://sqlmap.org/
将sqlmap.py加入到path中(在cmd中输入sqlmap.py不会报找不到文件)
 
下载依赖的jar包:
commons-io-2.4.jar,放置到burpsuite java 插件的classpath下,
burpsuite中配置路径为:extender-->options-->Java Environment
编译此项目为单独的一个jar文件,添加到burpsuite的java插件中,配置路径为:extender-->extentions-->add
之后你将会看到在主页面中会新增一个tab,名字叫做Sqlmap
我会打包的
本插件实现原理:
将目标请求的数据存放到临时文件中,然后调用"sqlmap.py -r $file"来启动对请求的sql注入检测 在Sqlmap tab中,你可以配置sqlmap除 -r外的其他参数,比如:
加入配置中写:"--level 3",真实执行时是:sqlmap.py -r $file --level 3
回到burpsuite主页面,在任何请求连接上右键,会看到新增"send to Sqlmap",点击后会开启cmd窗口,针对此请求进行sql注入检测
进行扫描时候会自动弹出来一个sqlmap的注入页面。
 
如果你只想执行一次sqlmap的操作,即能完成多个链接地址的SQL注入漏洞测试,使用gason插件的方式操作起来会比较麻烦。那么,是否存在批量检测的使用方法呢? 国内比较著名的安全网站freebuf上有两篇类似的文章,感兴趣的同学可以自己阅读看看。
1.【优化SQLMAP的批量测试能】http://www.freebuf.com/sectool/75296.html
2.【我是如何打造一款自动化SQL注入工具】http://www.freebuf.com/sectool/74445.html
 
通过上面的两篇文章,我们可以看出,批量操作在实际应用中非常常见,如果能解决批量问
题,则大大地提高了我们的工作效率,下面我们一起来研究一下如何解决这个问题。

在github上,网友difcareer公开了一个Burp插件sqlmap4burp,源文件地址为:https://github.com/difcareer/sqlmap4burp。我们就基于此插件的功能拓展,来完成自动化批量SQL测试的功能。

首先,我们来规划一下这个插件的使用场景:
当通过Burp代理的HTTP流量消息都记录在HTTP History 列表中,我们可以批量地选中
多个url,由插件自动生成类似Burp proxy的日志文件,然后调用sqlmap进行检测。
插件整个使用过程的流程图如下
上图中浅蓝色背景标示的部分,均为插件所执行的动作。其主要做了这些事情:
1. 判断选中数据是否为空,不为空则获取History列表的已选中数据,无论一条还是多条记录。
2. 将获取的HTTP消息按照proxy日志的格式,生成日志文件。
3. 调用sqlmap.py脚本,传递生成的日志文件作为参数值进行检测。
如上图所示,我们通过【Options】>>【Misc】>>【Logging】选中Proxy的Requests选项,
自动弹出保存日志文件的路径和文件名,点击【保存】按钮后,则文件生成并开始记录Proxy
的请求消息。 进行排查注入。

本文来自: 蜗蜗侠's Blog-关注网络安全 http://blog.icxun.cn/Tools/593.html

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Pocscan_一个开源的在线自动化渗透测试脚本安装

    Pocscan_一个开源的在线自动化渗透测试脚本安装

    2016-11-25 10:32

  • Python渗透测试工具合集

    Python渗透测试工具合集

    2016-11-24 19:47

网友点评
暂时未开启评论功能~