欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

分享五个著名的SQL注入漏洞扫描工具

程序员文章站 2022-05-11 11:17:36
...
大量的现代企业采用Web应用程序与其客户无缝地连接到一起,但由于不正确的编码,造成了许多安全问题。Web应用程序中的漏洞可使黑客获取对敏感信息(如个人数据、登录信息等)的直接访问。

Web应用程序准许访问者提交数据,并可通过互联网从数据库中检索数据。而数据库是多数Web应用程序的心脏。数据库维持着Web应用程序将特定内容交给访问者的数据,Web应用程序在将信息交给客户、供应商时,也从数据库取得数据。

SQL注入攻击是最为常见的Web应用程序攻击技术,它会试图绕过SQL命令。在用户输入没有“净化”时,如果执行这种输入便会表现出一种SQL注入漏洞。

检查SQL注入漏洞主要涉及到两方面,一是审计用户的Web应用程序,二是通过使用自动化的SQL注入扫描器执行审记的最佳方法。在此,笔者罗列了一些对Web应用程序开发人员和专业的安全审计人员有价值的SQL注入扫描程序。

一、SQLIer

SQLIer可以找到网站上一个有SQL注入漏洞的URL,并根据有关信息来生成利用SQL注入漏洞,但它不要求用户的交互。通过这种方法,它可以生成一个UNION SELECT查询,进而可以强力攻击数据库口令。这个程序在利用漏洞时并不使用引号,这意味着它可适应多种网站。
SQLIer通过“true/false”SQL注入漏洞强力口令。借助于“true/false” SQL注入漏洞强力口令,用户是无法从数据库查询数据的,只能查询一个可返回“true”、“false”值的语句。

据统计,一个八个字符的口令(包括十进制ASCII代码的任何字符)仅需要大约1分钟即可破解。
其使用语法如下,sqlier [选项] [URL]

其选项如下:

-c :[主机] 清除主机的漏洞利用信息
-s :[秒]在网页请求之间等待的秒数
-u:[用户名]从数据库中强力攻击的用户名,用逗号隔开。
-w:[选项]将[选项]交由wget
此外,此程序还支持猜测字段名,有如下几种选择:
--table-names [表格名称]:可进行猜测的表格名称,用逗号隔开。
--user-fields[用户字段]:可进行猜测的用户名字段名称,用逗号隔开。
--pass-fields [口令字段]:可进行猜测的口令字段名称,用逗号隔开。

下面说一下其基本用法:

例如,假设在下面的URL中有一个SQL注入漏洞:

example.com/sqlihole.php?id=1


我们运行下面这个命令:

sqlier -s 10 example.com/sqlihole.php?id=1

从数据库中得到足够的信息,以利用其口令,其中的数字“10”表示要在每次查询之间等待10秒钟。

如果表格、用户名字段、口令字段名猜测得正确,那么漏洞利用程序会把用户名交付查询,准备从数据库中强力攻击口令。

sqlier -s 10 example.com -u BCable,administrator,root,user4

然而,如果内建的字段/表格名称没有猜中正确的字段名,用户就可以执行:

sqlier -s 10 example.com --table-names [table_names] --user-fields [user_fields] --pass-fields [pass_fields]

除非知道了正确的表格名、用户名字段、口令字段名,SQLIer就无法从数据库中强力攻击口令。

二、SQLMap:

这是一个自动的“盲目”SQL注入工具,它用python开发,它能执行一个动态的数据库管理系统指纹识别,可以完整地穷举远程数据库。其目标是实施一个完整的功能性数据库管理系统工具,它能够利用Web应用程序程序设置的全部缺陷,这些安全缺陷可以导致SQL注入漏洞。

在SQLMap检测到目标系统上的一个或多个SQL注入漏洞之后,用户就可以从多种选项中选择,进而执行全面的后端数据库管理系统指纹识别,检索数据库管理系统会话用户和数据库,穷举用户、口令哈希、数据库,运行其自身的SQL SELECT语句,读取文件系统上的特定文件等。

此软件完全支持MySQL、 Oracle、PostgreSQL、Microsoft SQL Server等后端数据库管理系统。此外,它还识别微软的Access数据库,以及DB2、Informix、 Sybase 、 Interbase等。

其使用方法如下:

sqlmap.py [选项] {-u <URL> | -g <google dork> | -c <配置文件>}
其中,-u URL指明目标URL
-g google dork 将google dork结果处理为目标url

三、SQLID:

此工具是一个SQL注入漏洞挖掘器,是一个命令行实用程序,它能够查找SQL注入漏洞和网站中的常见错误。它可以执行以下几种操作:查找网页中的SQL注入漏洞,测试提交的表单,查找SQL注入漏洞的可能性。它还支持HTTP、HTTPS、基本身份验证等。

其用法如下:

Sqid.rb [选项]

其选项有以下几种:

-m,--mode MODE,它指明以某种模式进行操作,其中MODE有以下几种情况:g,google:以google搜索模式操作;u,url检查这个url;p,page,它主要检查单一的网页;c,crawl,检查站点。

其中,google搜索模式选项有以下几种情况,-q,--quary 查询,QUERY执行google搜索;-s,--start START,对所需要的首个结果的零索引;-r,--results RESULTS,在此指明所需要的结果数量,默认值为20。

四、SQL Power Injector

SQL Power Injector可帮助渗透测试人员找到并利用网页上的漏洞。目前,它支持SQL Server、Oracle、MYSQL、Sybase/Adaptive Sever和DB2等数据库,但在使用inline注入时,还可借助现有的数据库管理系统来使用此软件。

其自动化的工作模式以两种方式进行,一是比较期望的结果,二是根据时间延迟。

其工作状态如图:

分享五个著名的SQL注入漏洞扫描工具

五、SQLNinja:

Sqlninja可以利用以SQL Server为后端数据支持的应用程序的漏洞,其主要目标是提供对有漏洞的数据库服务器的远程访问。Sqlninja的行为受到配置文件的控制,它告诉了Sqlninja攻击的目标和方式,还有一些命令行选项。比如,有如下一些命令选项:

-m<攻击模式>,其攻击模式有测试(test)、指纹识别(fingerprint)、强力攻击(bruteforce)等;

其它的命令选项,-v : 指明进行详细输出;-f<配置文件>:指明一个使用的配置文件。-w<单词列表>指明以强力攻击模式使用的单词列表。

如图是运行过程界面:

分享五个著名的SQL注入漏洞扫描工具

【相关推荐】

1. 特别推荐“php程序员工具箱”V0.1版本下载

2. 如何防止sql注入?介绍5种防止sql注入的方法

3. 分享一个SQL注入的实例过程

4. 分享一篇使用SQL注入漏洞拖库的实例讲解

以上就是分享五个著名的SQL注入漏洞扫描工具的详细内容,更多请关注其它相关文章!