如果我们要去找出,一个网站中可能存在的所有漏洞,那对于我们而言是相当累的,有时候,我们只能借助于sql注入漏洞的工具,进行检测,检测的工具对我们相当重要,因为他能替代人工和提高效率
我们本篇文章就来介绍,SQL注入漏洞的检测工具
1. SQL漏洞检测工具
检测的工具,我们主要分为两类
1.替换人工办法自动检测有漏洞的URL,把它列出来
Safe3 SQL Injector
对这个工具,我们不会做详细的演示
2.如果把这些URL找出来之后,我们就对指定的URL进行穷举可能的注入到底是什么,得到的信息到底是什么
sqlmap
对这个工具,我们会在命令行里面,做一些关于如何使用的思路和办法
2.Safe3 SQL Injector
自动的去检测出网站到底有那些SQL注入漏洞,它注入的可能性是什么
Safe3 SQL Injector是一个最强大和最易使用的渗透测试工具,它可以自动检测和利用SQL注入漏洞和数据库服务器的过程中
Safe3 SQL Injector具备读取MySQL、Oracle、PostgreSQL、SQL Server、Access、SQLite、Firebird、Sybase、SAP MaxDB等数据库的能力。它的能力是比较强大的,同时支持向MySQL、SQL Server写入文件,以及SQL Server和Oracle中执行任意命令。我们在前面一篇文章已经接触过了,Safe3 SQL Injector也支持基于error-based、Union-based和blind time-based的注入攻击
这个工具,大家在网站上搜索一下来使用,包括一些界面的工具,这里,我们就不做具体的演示
3.Sqlmap工具
我们详细的来说说,SQLmap工具的具体使用
它的功能是对指定的url或者网站进行漏洞检测,可以对盲注、显注进行穷举的注入,最后可以获取所有可能获得的信息
我们通过命令行一个个演示给大家看一下
因为这个检测的时间过于漫长,这个过程,我就试先执行过了,在这里给大家介绍一下
我们在这里先通过sqlmap命令行,我们先看下帮助,./sqlmap.py --help
帮助中,我们看到有非常多的选项,功能是非常强大的,同时我们所用到的和常用到的,给大家演示一下
在这里d就是direct的意思,直接的意思,直接连接到数据库里面去
通常我们使用的-u,指定的url,因为这是我们所使用到的
有个method,这是HTTP所使用到的方法,通常在url中,我们有时候使用,get方法,或者是put方法,post方法
同时还支持cookie注入
我们还看到后面还有一个级别选项level和风险选项risk
级别选项一般是1-5,默认实际上就是1,所执行的级别越高,所注入穷举的办法就越多
风险注入,实际上执行的是1-3,它进行的测试会更多,但是风险就越大
union,我们所接触过的union的目标是第三者上位,在这里,我们通常使用union-cols,它的列有多少,以便决定它列的范围是什么
下面是重举之后,所返回的数据库信息,a是返回所有的信息,一会,我们会使用-a的办法得到所有的信息
如果,我们目标性比较强,我们希望它返回数据库的管理员用户,用户名是什么,密码是什么,权限是什么
current-user,当前的用户名,current-db,当前的数据库,这些我们都比较熟悉,包括其它的表名和字段名,-tables,-columns,-schema,数据库名等等
我们先了解这么多,我们看到这里,我们就使用-a,-a说明返回所有可能得到的信息,–dbms指定的是后台数据库,就是mysql数据库,那就不需要对orcal、sqlserver等等其它数据库进行检测,-u只指定的是,我们检测的url是什么,这是我们目标网站的url,我们看到第一个是mid这个参数,下面是cnt_all,后面是tksid
我们看到开始运行之后,这里有一个信息,它会检查一些目标是否被一些应用防火墙或者是IDS进行保护,如果没有,就会得到这个URL是相对稳定的,那下面这个信息,就会检测到mid这个参数,它是动态的,可以过滤,并且对得到这些信息进行注入,我们看到它得到参数mid可能是注入点,那下面就开始测试这个注入点,可能的办法是什么
这个AND布尔值的盲注实际上就是不变逻辑,全集逻辑和空集逻辑,他们进行测试注入之后
我们发现会得到一些信息,它会询问是否还要继续进行风险和更高级别的测试,我们选择是
那我们继续测试的结果,我们会发现这里有个信息,目标URL出现了有36个字段在查询中,36个字段对我们union中,第三者上位这点相当重要,所以这个就得到阶段性的结果
而第二个参数,我们发现它没有检测到注入点,实际上,对我们来说,它检测的也不是十分的准确,实际上,我们测试过,它是可以注入的,下面就继续的进行循环的检测
那么到这里,我们就结束掉了,因为这个URL是日本的网站,连接的时间过长,所以检测的时间已经中断掉了
得到的结果,基本在循环中检测,这个信息是可靠的
4.小结
1.SQL注入漏洞自动检测工具简介
一般分为两种,一种是自动的扫描所有的URL,这里我们由于网站的一些性能影响,第二是找出URL之后,如何对他穷举,进行攻击
2.SQL注入漏洞穷举攻击工具sqlmap简介
我们前面对原理相当了解,这里工具只是作为一个辅助的手段和了解,在了解了sql注入工具之后,我们发现前面有防火墙的检查,甚至有程序的检查,这种检查对注入字符的拦截和过滤,有相当的作用,这种时候,对我们的渗透攻击会受到一定的限制,下一篇文章将讲解,如何规避检查