01.Micro-CMS v1

01.Micro-CMS v1

一月 02, 2019

01.Micro-CMS v1

难度:Easy
分类:Web

需要拿到4个flag

题解

打开网址,可以看到3个不同的链接,应该是对应三个不同的flag

Testing

先从Testing开始

看到了Edit this page,打开这个链接

可以看到有两个输入框,先测试Title

输入标注的XSS测试用例,点击save

返回的页面,我们查看刚才的输入用例,是以h1标签包围了起来。但是发现浏览器的标题没有做任何处理,全部展示了出来。

怎么触发这个XSS呢? 我们点击 <-- Go Home返回首页

触发了XSS,得到了第一个FLAG。

我们来看看源码变成了什么样子

可以看到,测试用例没有任何处理,直接存储了。

Markdown Test

我们进入第二个链接,Markdown Test

看起来是要进行编辑框的test,还是进入Edit this page

因为Title我们测试过,这一轮的title写着Markdown test,那就测试markdown编辑框。
还是先用最标准的测试用例,然后save

得到结果后,查看源码

发现过滤了<script>标签,那么换其他测试用例试试。

查看结果,拿到了第二个FLAG

源码

Create a new page

打开链接并随意填充数据提交

观察界面,数据没什么问题,倒是观察到page/id 出现了page/12

返回主界面,查看其它的url

发现是12,这12是怎么来的。刚才创建了一次页面,不应该是3么,难道是12的拼接?
先尝试第一种想法,有其他的url存在,我们尝试访问page/3page/12

尝试到page/7时返回403错误,说明有隐藏页面,那怎么才能有权限访问呢

我们返回去查看单独的页面URL,发现一个页面除了自己的page/id,还有一个编辑页面 page/edit/id,那我们尝试访问page/7的编辑页面。

访问成功,得到第三个FLAG

Edit Page

按照一个单项一个FLAG的标准,主界面的三个FLAG已经全部找到。最后一个FLAG得换一种思路.

刚才注意了编辑页面的URL,是否有SQL注入,在URL最后加入',试试效果

结果

拿到了第四个FLAG

总结

Micro-CMS v1主要是最基础的XSS和SQL注入,很多题的方法很多,比如第二个FLAG可以有多种输入,只要不是被过滤的,都可以成功。
下图改变button的事件,也可以触发。

增加onclick事件

触发成功

目前进度