SQL注入之sqlmap进阶

上一篇我们对sqlmap进行简单的介绍,并介绍了一些·sqlmap的基础用法,这篇让我们来更深入的了解一下sqlmap,了解一下它的强大功能。

探测等级

参数为 --level

在sqlmap中一共有五个探测等级,默认等级为一。

等级为一时会测试get和post的数据。

等级为二时会测试HTTP头的cookie注入。

等级为三时会测试HTTP的user-agent、referer头、xff头等的注入。

等级越高,检测的越多,运行也越慢,所以我们要看情况来选定等级。

sqlmap支持的注入模式

1、基于布尔的盲注,即可以根据返回页面判断条件真假的注入。
2、基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。
3、基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。
4、联合查询注入,可以使用union的情况下的注入。
5、堆查询注入,可以同时执行多条语句的执行时的注入。

sqlmap支持的数据库

MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase,SAP MaxDB

HTTP Referer头

sqlmap可以在请求中伪HTTP的Referer头,当--level参数大于等于三时,会尝试进行refer注入,可以用refer命令来欺骗,命令为 --referer

--sql-shell

该命令可以运行指定的SQL语句,我们可以自定义SQL语句来实现想要的功能。

--os-cmd 和 --os-shell

可以用来运行任意的操作系统的命令。

--file -read

这个命令用来读取执行文件,当用户有足够的权限使用特定的函数时,便可以读取数据库服务器的文件。

--file-write   --file-dest

这个命令用来将本地文件写入到服务器中

相关推荐