MOCTF web writeup

前几天发现一个不错的平台MOCTF但一直没时间刷。这几天陆续更新web题的wp

web1:一道水题

进去一堆青蛙

查看源代码,看到flag

 

web2:还是水题

发现密码框输入不了,遂F12审查元素,删除disable属性,以及将长度改为5,输入moctf。得到flag

扫描二维码关注公众号,回复: 1687279 查看本文章

 web3:访问限制

题目提示用NAIVE浏览器,于是想到burp改user-agent:NAIVE

run得到flag

web4:机器蛇

 

这道题。。。。我。。。一进去玩了半天的贪吃蛇。。。。

后来随手审查了元素,发现robots.txt点进去后发现flag327a6c4304ad5938eaf0efb6cc3e53dc.php

进去F12找到flag

web5:PHP黑魔法

题目提示php~

进去后查看源代码,php黑魔法。

大致意思就是

1.输入a,b两个参数,都不能为空

2.这两个参数不能相等

3.这两个参数经过md5加密后相等。

条件2和条件3貌似冲突。

两种方法:

1.构造数组,md5加密遇到数组时都返回false,于是相等,但值并不相等。?a[]=1&b[]=2

2.md5加密后0e开头的都相等,例如:240610708 和 QNKCDZO。   ?a=240610708&b=QNKCDZO

两种方法都得到了flag

web6:我想要钱

进去也是php审计

 需要满足四个条件就会得到flag

1.参数为money,并且为get传递

2.money的长度要小于4

3.money要大于time(),time()返回的值百度了一下,貌似是从1970年到现在的秒数,反正就是特别大。

4.money不能是数组

自然想到科学计数法,构造?money=2e10 得到flag

web7:登录就对了

一看就是sql注入题,用户名构造万能密码:'or '1' = '1' #   密码任意  得到flag

web8:Flag在哪?

页面只有一个超链接,点击并burp,一开始什么都没发现,后来看到有302跳转,跳转到了五个页面分别为:

/where_is_flag.php

/flag.php

/I_have_a_frog.php

/I_have_a_flag.php

/no_flag.php

猜测flag应该在flagfrog.php或者frogflag.php

访问两个页面都没有结果,再burp,都得到了flag。。。。。脑洞大的很。。。

web9:死亡退出

p师傅有一篇文章详细讲了绕过死亡exit,但之前一直没看,在参考郁师傅的wp的时候又看到了这篇文章,

深知它的重要性!!!于是好好得拜读了。

原文链接:https://www.leavesongs.com/PENETRATION/php-filter-magic.html

遂写shell并base64编码,之后再解码的时候,符<、?、;、>、空格等一共有7个字符不符合base64编码的字符范围将被忽略,所以最终被解码的字符仅有“phpexit”和我们传入的其他字符。

但base64算法解码时是4个byte一组,所以给他增加1个“a”一共8个字符。这样,"phpexita"被正常解码,而后面我们传入的webshell的base64内容也被正常解码。结果就是<?php exit; ?>没有了。

参考郁师傅的shell:<?php system('cat flag.php');? >    base64加密后为:PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTsgPz4=

再结合tmp.php构造payload为file=php://filter/write=convert.base64-decode/resource=tmp.php&c=PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTsgPz4=

审查元素得到flag

web10:文件包含

查看源代码看到提示信息flag.php,结合题目文件包含

构造payload:?file=php://filter/convert.base64-encode/resource=flag.php

得到一串加密字符,base64解密得到flag

web11:美味的饼干

进去就是一个登陆页面,尝试弱密码登录admin,admin顺利登录,后来发现貌似随意一个账号密码都能进去。。。。

抓包发现一串字符串:SET-COOKIE:ZWUxMWNiYjE5MDUyZTQwYjA3YWFjMGNhMDYwYzIzZWU%3D

%3D是“=”的URL编码,所以对ZWUxMWNiYjE5MDUyZTQwYjA3YWFjMGNhMDYwYzIzZWU=进行base64解码,得到MD5密文ee11cbb19052e40b07aac0ca060c23ee,解密后得到user

所以使用admin先md5后base64,加上cookie,得到flag

猜你喜欢

转载自www.cnblogs.com/gzs-monkey/p/9209303.html