【CTF大赛】2021 DASCTF July cybercms 一探再探

引言

在前不久结束的 2021 DASCTF July X CBCTF 4th 比赛中,有一道名为 cybercms 的 web 题目。

预期解是从后台登录处进行 SQL 注入写入一句话木马,然而咱在做题的时候尝试了另一种思路,用的是后台登录绕过 & 木马上传的打法。

由于比赛的时候半天打不通就十分难受,赛后还是想不明白就来稍微深入探究了一下,经过曲折最后终于成功打通了。

这篇就来记录一下做这道题时候的心路历程吧……

题目初探

cybercms

赛博CMS,只为安全而生

Hint: 信息搜集是一个web手必备的技能

在这里插入图片描述
很好,是 BEESCMS,head 里的 description 没改,正文里其实也没改完。

从官网找到了 官方 V4.0 源码下载

(不过貌似没啥用 后来发现还是有用的

后台登录绕过 & 上传

参考 【代码审计】 beescms 变量覆盖漏洞导致后台登陆绕过分析,$_SESSION 可以被任意覆盖。

POST /

_SESSION[login_in]=1&_SESSION[admin]=1&_SESSION[login_time]=99999999999

在这里插入图片描述
然后直接可以访问后台了。

http://xxxxxxxxxxx/admin/admin.php
在这里插入图片描述
参考 代码审计就该这么来3 beescms getshell

按照文中的思路,上传一个后缀为 .php 的一句话木马,并修改 Content-Type: image/png 来通过后端对文件类型的校验。
网安资料
然而发现他文件目录没权限上传啊,随便上传一个正常的图片也是如此……
在这里插入图片描述

源码泄露

麻了,做到一半才发现有 源码泄露,/www.zip…

diff 大法好啊,看来官方源码还是有用的 2333。

多了个 hackable/ 目录,看起来只有这个目录可写的样子。(虽然最后发现也不行
在这里插入图片描述
登录还过滤了一下 SQL 注入。
在这里插入图片描述
在这里插入图片描述
注意的是还把 /* * 的过滤给去掉了。

上传点源码审计

再来看上传部分的源码。
在这里插入图片描述
审了一波源码,发现其实可以 构造目录穿越。
在这里插入图片描述
在这里插入图片描述
$up_file_name2 由 $pic_alt 而来,这个是可控的,只需要构造个目录穿越到 hackable 目录下就完事了。
网安资料
为了进到这里,上传的时候记得再把 Content-Type: image/png 改好, is_alt 设为 1。

然而还是没打通,报错和上面的类似,也是 PHP 执行的时候文件目录没权限,只不过可以注意到文件名是 .php 了。

(咱也不知道为啥他 $pic_alt 没传进来,留空的话也不是随机数,一脸懵逼

另一个上传点审计

于是么得办法,再挖了另一个文件上传的点,考虑通过 修改已上传图片的接口 来进行上传。
在这里插入图片描述
相应源码如下。
在这里插入图片描述
这里的 $pic_path 和 $pic_name 都是可控的,任意改一个就完事了。当然这是 PHP/5.6.40,%00 截断不可行 2333.

然而还是打不通……

绝绝子,挖了两条上传的路,试着绕到 hackable 目录也打不通……

看来还是文件目录的限制吧。

心态炸了啊啊啊啊啊。

SQL 注入写马(预期解)

害,赛后看了看大佬的 wp,么得办法,还是得走 SQL 注入写入文件呗。(佛了
在这里插入图片描述
再来看上面 diff 出来的关于 SQL 注入的语句。

function fl_value($str){
   
    if(empty($str)){
   return;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值