引言
在前不久结束的 2021 DASCTF July X CBCTF 4th 比赛中,有一道名为 cybercms 的 web 题目。
预期解是从后台登录处进行 SQL 注入写入一句话木马,然而咱在做题的时候尝试了另一种思路,用的是后台登录绕过 & 木马上传的打法。
由于比赛的时候半天打不通就十分难受,赛后还是想不明白就来稍微深入探究了一下,经过曲折最后终于成功打通了。
这篇就来记录一下做这道题时候的心路历程吧……
题目初探
cybercms
赛博CMS,只为安全而生
Hint: 信息搜集是一个web手必备的技能
[<img src=“https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/0fcb2f3ffce841febee3369abfebf5cd~tplv-k3u1fbpfcp-zoom-in-crop-mark:4536:0:0:0.image)](https://link.juejin.cn/?target=https%3A%2F%2Fwww.oschina.net%2Faction%2FGoToLink%3Furl%3Dhttps%253A%252F%252Fp5.ssl.qhimg.com%252Ft01ad06f84a35c540a8.png “https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fp5.ssl.qhimg.com%2Ft01ad06f84a35c540a8.png”” style=“margin: auto” />
很好,是 BEESCMS,head 里的 description 没改,正文里其实也没改完。
从官网找到了 官方 V4.0 源码下载
(不过貌似没啥用 后来发现还是有用的
后台登录绕过 & 上传
参考 【代码审计】 beescms 变量覆盖漏洞导致后台登陆绕过分析,$_SESSION
可以被任意覆盖。
POST /
_SESSION[login_in]=1&_SESSION[admin]=1&_SESSION[login_time]=99999999999
然后直接可以访问后台了。
http://xxxxxxxxxxx/admin/admin.php
[<img src=“https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/91435c4593854c898185f2107407052b~tplv-k3u1fbpfcp-zoom-in-crop-mark:4536:0:0:0.image)](https://link.juejin.cn/?target=https%3A%2F%2Fwww.oschina.net%2Faction%2FGoToLink%3Furl%3Dhttps%253A%252F%252Fp3.ssl.qhimg.com%252Ft01c5591f7be8cf071d.png “https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fp3.ssl.qhimg.com%2Ft01c5591f7be8cf071d.png”” style=“margin: auto” />
参考 代码审计就该这么来3 beescms getshell
按照文中的思路,上传一个后缀为 .php
的一句话木马,并修改 Content-Type: image/png
来通过后端对文件类型的校验。
然而发现他文件目录没权限上传啊,随便上传一个正常的图片也是如此……
[<img src=“https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e7daab11348b44d0870408c4826ef091~tplv-k3u1fbpfcp-zoom-in-crop-mark:4536:0:0:0.image)](https://link.juejin.cn/?target=https%3A%2F%2Fwww.oschina.net%2Faction%2FGoToLink%3Furl%3Dhttps%253A%252F%252Fp2.ssl.qhimg.com%252Ft01a297e60a6e2b86a8.png “https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fp2.ssl.qhimg.com%2Ft01a