一、sqlmap简介1. 概况,下面我们就来聊聊关于sqlmap注入教程?接下来我们就一起去了解一下吧!

sqlmap注入教程(sqlmap命令详解)

sqlmap注入教程

一、sqlmap简介

1. 概况

开源渗透测试工具,自动检测和利用SQL注入漏洞并接管数据库服务器。

2. 特性

(1)支持众多数据库 MSF

(2)支持六种SQL注入技术:布尔,时间,错误,Union,堆栈查询,带外信道

(3)支持使用tamper脚本进行定制化的攻击

(4)支持msf和meterpreter的联动

3. 简单扫描

sqlmap -u <url>

二、sqlmap参数说明

1. 目标指定类参数

(1)-d

“DBMS:PASSWORD@DBMS_IP:DBMS_PORT/DATABASE_NAME”

直接链接数据库

(2)-u <url> 指定url

(3)-l <.log文件> 从log文件中解析目标

(4)-m <文本文件> 从文件中解析目标(日志文件指http请求的日志文件,会自带cookie)

(5)-g <搜索内容> 以google搜索结果作为目标,注意搜索内容中引号要注意转义

2. 请求、认证类参数(post重点内容)

(1)–method=<http方法> 指定使用的http方法

(2)–data=<post数据> 提交post数据并对post数据进行测试

(3)–param-del=<分隔符> 指定参数的分隔符

(4)–cookie <cookie键值对> 添加cookie http请求头(当–level不小于2时,sqlmap会对cookie头检测是否可以注入)

(5)–headers <http请求头字段和字段值> 添加http请求头,不同的头使用“\n”分隔

(6)–auth-type、–auth-cred 指定认证方式并指定使用的凭证

(7)–auth-file 指定使用的证书文件

3. 优化类参数

(1)–keep-alive 使用http长连接,该参数与“–proxy”参数矛盾

(2)–null-connection 只获取http响应的长度(大小)而不获取真正的响应体,可以节约布尔型盲注使用的带宽

(3)– threads=<number> 设定线程数

(4)-o 相当于同时设定以上三个参数

4. 注入功能类参数

(1)-p <参数列表> 指定要测试的参数不同的参数使用逗号分隔

(2)–skip=<参数列表> 指定哪些参数不测试,不同参数使用逗号分隔

(3)* 指出为静态网页的参数位置,如“/id/1*/”

(4)–dbms <数据库类型> 指定数据库类型 一般不要

(5)–prefix <前缀> 指定payload的前缀和后缀

5. 用于sql注入漏洞利用的参数

5.1 获取数据库内容的常用命令

(1)-b/–banner 获取数据库版本

(2)-current-user 显示当前数据库用户名

(3)–is-dba 判断当前用户是否为管理员用户

(4)–dbs 列出数据库系统的所有数据库

5.2 获取数据库内容

(1)–dbs 爆库

-D 用数据库

(2)–tables/–exclude-sysdbs/-D 爆表

(3)–columns/-C/-T/-D 爆字段

(4)–dump/-C/-T/-D/–start/–stop/–first/–last 爆内容

6. 其他重要参数

(1)–proxy、–proxy-cred、–proxy-file和–ignore-proxy 关于代理的参数

(2)–tor、–tor-type、–tor-port和–check-tor(所有流量经过tor) 关于tor匿名网络的参数

(3)–risk 指定风险等级,告诉sqlmap是否要使用高风险的payload(删库改库)

(4)–level 指定检测等级,告诉sqlmap检测的范围有多大,*该参数比较笼统,可以用-p替代他

(5)–technique 指定要使用的注入技术,默认情况下sqlmap会使用所有sql注入技术

(6)

–common-tables和–common-columns 暴力破解表名和列名

三、sqlmap实际应用

1. 检测sql注入漏洞的存在

sqlmap -m <文件> –level <数字> –risk <数字>……

2. 使用sqlmap获取数据

(1)–dbs 爆库

-D 用数据库

(2)–tables 爆表

-T 用表

(3)–columns

(4)–dump(注意指定库)

–dump -all 脱库

3. 使用sqlmap执行系统命令

(1)–os-cmd <命令>

(2)–os-pwn –msf-path <路径>——开启一个meterpreter session

(仅限mysql、postgersql、mssql)

四、sqlmap扩展脚本——tamper脚本

1. Tamper脚本简介

tamper脚本是sqlmap中用于绕过waf或应对网站过滤逻辑的脚本,sqlmap自带了一些tamper脚本,我们可以在sqlmap的tampet目录下查看它们,用户也可以根据已有的tamper脚本来编写自己的tamper脚本(绕过逻辑)

2. Tamper脚本使用

(1)sqlmap -u <url>——tamper <tamper脚本>

(2)tamper脚本若放在tamper/目录下则可以直接写文件名而不用写全路径

3. Tamper脚本编写