文章图片
前期的判断很重要。判断注入点,判断是哪一种类型的注入,有哪些关键词被过滤等。
post
类型注入- 注入点在用户上。密码输入时没有任何异样而在用户处会触发关键词报错。
- 过滤关键词有
or
(
)
=
文章图片
源码中有这么一串字符。base32解密,再64解密后得到结果select * from user where username = '$name'
其实从过滤的关键词考虑,基本上很多事情多做不了了。本题的考点是在union联合查询上。
既然hint解密后得到sql的关键语句如上,我们就可以推测出该题对用户的判断步骤:
- 查询表中指定用户的所有信息
- 传入的密码与查询的信息密码进行比对
文章图片
放个例子方便理解:
我们要登录到Dumb这个用户,那么根据上面那条语句我们可以得到Dumb的相关账号密码。
文章图片
但如果我们查询一个未知用户,配合上构造过的联合查询语句,得到的结果如下。题目对账号的判断完全取决于数据库采出来的信息。那么直接当我们传入的密码为
nice(与语句构造的一样)
,就可登录成功了。文章图片
该题同理,唯一不同的是。需要多来一步对密码的md5加密。
【CTF日记|[GXYCTF2019]BabySQli】最后放个源代码
Do you know who am I? - 锐客网
';
$arr = mysqli_fetch_row($result);
// print_r($arr);
if($arr[1] == "admin"){
if(md5($password) == $arr[2]){
echo $flag;
}
else{
die("wrong pass!");
}
}
else{
die("wrong user!");
}
}
}
?>
推荐阅读
- sql|最新系统漏洞--Metinfo SQL注入漏洞
- CTF日记|[BJDCTF2020]EzPHP&DASCTF-sep:hellounser
- php|php 怎么使用 composer,php composer 使用
- Java面试题大全|【备战面试】面试题打卡——Mysql相关面试题总结
- 比赛wp|[SCTF2021]Upload_it_1复现闭包组件反序列化rce
- 比赛wp|[VNCTF2022]部分wp
- 代码审计|[代码审计]ThinkPHP 5.0.x 变量覆盖导致的RCE分析
- 代码审计|[代码审计]yii2 反序列化漏洞分析
- 数据库|TiDB Online DDL 在 TiCDC 中的应用丨TiDB 工具分享