首页 > 数据库技术 > 详细

[GXYCTF2019]BabySQli

时间:2020-09-14 22:14:17      阅读:69      评论:0      收藏:0      [点我收藏+]

今天这道题很有意思,记录一下,我刚开始以为是时间盲注,都把它的数据库注出来了,但后来发现进行不下去了(发现自己思路错了),警告自己要注意细节(切记base32编码)                                             

题目

题目是一个登录框

技术分享图片

 

 

先抓个包看一下

技术分享图片

 

 

返回包中有一串字符,像是base32编码的特征

先进行base32解码

技术分享图片

 

 

再进行base64解码

技术分享图片

 

 

分析

告诉了一个username字段

我们先来查看一下它有几个字段

1 union select 1,2,3#

发现有3个字段

将用户名放在第二列,回显wrong pass!,找到用户名在第二列

1‘ union select 1,admin,3#

技术分享图片

 

接下里就是要绕过密码的md5验证,需要把我们输入的值和数据库里面存放的用户密码的md5值进行比较,那要怎么绕过呢?可以用联合查询语句用来生成虚拟的表数据

首先可以看到该表只有2个用户

技术分享图片

 

然后输入语句

select * from test union select 1,admin,123456;

技术分享图片

 

 

发现可以写入到表里

通过这样的方式,我们就可以用构造payload

name=1 union select 1,admin,e10adc3949ba59abbe56e057f20f883e#&pw=123456

技术分享图片

 

[GXYCTF2019]BabySQli

原文:https://www.cnblogs.com/zzjdbk/p/13669245.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!