码迷,mamicode.com
首页 > 数据库 > 详细

[GXYCTF2019]BabySQli

时间:2020-02-24 00:50:36      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:pass   flag   targe   联合   比较   一个   rom   bsp   插入   

这题的知识点是绕过密码的md5验证,参考Y1ng师傅的文章

 

看到题目,fuzz了一下,过滤的并不多

技术图片

 而且页面源码有给sql语句,不过需要先base32再base64解码

select * from user where username = $name

直接可以用联合注入,表里有三列

1 Order by 3#

进行用联合注入,回显wrong user!,说明用户不在第一列

1 union select 1,2,3#

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

1 union select 1,admin,3#

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

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

 技术图片

 然后我们可以用联合查询的方式将查询的数据插入到表中

技术图片

 

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

用户名输入(‘e10adc3949ba59abbe56e057f20f883e’是 123456的md5值)

1 union select 1,admin,e10adc3949ba59abbe56e057f20f883e#
密码输入
123456

POST请求 ,获得flag

技术图片

 

 

 

 

 

[GXYCTF2019]BabySQli

标签:pass   flag   targe   联合   比较   一个   rom   bsp   插入   

原文地址:https://www.cnblogs.com/gaonuoqi/p/12355035.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!