buuctf [GXYCTF2019]BabySQli

在这里插入图片描述
常规sql注入都行不通,查看源码发现一个search.php,
在这里插入图片描述
先说说base32 和 base64 的区别,
base32 只有大写字母和数字数字组成,或者后面有三个等号。
base64 只有大写字母和数字,小写字母组成,后面一般是两个等号。
明显,那段文字是base32加密
解密后:c2VsZWN0ICogZnJvbSB1c2VyIHdoZXJlIHVzZXJuYW1lID0gJyRuYW1lJw==

继续base64解密:select * from user where username = '$name'
sql查询语句
注入的时候可以发现会回显no user 或 no pass
我们输入admin 发现 是 no pass 输入其他的时候发现是 no user
很明显绝对存在admin这个账号,联合查询到了三个字段。做到这没思路了
看了web,学到了联合注入有个技巧
在联合查询并不存在的数据时,联合查询就会构造一个虚拟的数据。
举个例子
在这里插入图片描述
这是数据库里本有的账号和密码,我们用联合查询这个技巧来看看
在这里插入图片描述
执行后
在这里插入图片描述
发现多了个账户,欧克开始解题
通过判断可以发现2字段是用户,3字段才是密码
构造playload:name=1' union select 0,'admin','81dc9bdb52d04dc20036dbd8313ed055'%23&pw=1234

在这里插入图片描述
利用构造一个虚拟身份来进行伪造真实身份,从而绕过审核机制。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值