P小二 P小二
← 返回文章 hacker101-ctf 约 8 分钟

01.Micro-CMS v1

01.Micro-CMS v1

01.Micro-CMS v1

难度:Easy 分类:Web

需要拿到4个flag

题解

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

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

Testing

先从Testing开始

先从Testing开始

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Markdown Test

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

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

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

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

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

还是先用最标准的测试用例,然后save

得到结果后,查看源码

得到结果后,查看源码

发现过滤了

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

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

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

源码

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

Create a new page

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

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

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

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

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

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

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

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

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

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

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

我们返回去查看单独的页面URL,发现一个页面除了自己的page/id,还有一个编

访问成功,得到第三个FLAG

Edit Page

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

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

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

结果

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

拿到了第四个FLAG

总结

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

增加onclick事件

增加onclick事件

触发成功

触发成功

目前进度

目前进度