minicms是一个小型轻便的cms。
代码下载地址:https://sourceforge.net/projects/mini-cms/
语言:PHP
没有数据库支撑,数据库文件直接保存在文件中
stristr() 函数查找字符串在另一个字符串中第一次出现的位置
$smarty->assign:变量输出到模板。assign在这里相当于赋值。这里使用,使得网站前后端分离。
直接打开网站源代码,可以发现结构如下图所示:
content:是内容页面,里面包含了上传的文件、图片等相关的信息
css:是样式页面
help:是关于网站的其他的帮助页面
images:是图片页面
plugins:是插件页面,包含了网站需要的插件,例如上传、编辑等
smarty:是一个PHP的模板引擎文件夹
templates:该文件夹中存储着常用程序的模板文件,决定网站的基本结构和射击的样式
在网站根目录下还有一些文件,例如index.php,new.php,login.php等。
直接放在网站根目录下,安装打开如下图所示:
直接页面扫描,可以发现存在robots.txt,phpinfo.php,config.php文件泄露。
反射型XSS
1、index.php页面
查看网页,发现在index.php页面,发现存在输入框,查看元素为:search_term
通过代码审计,发现是通过request直接带入,而没有进行任何的修改,将输入内容传入页面。
可以看出,如果要成功进行反射型xss,需要进行标签闭合,构造语句:</strong><script>alert(12345)</ScRiPt><strong> ,成功弹框。
2、news.php页面
参数:page
发现修改page参数,页面上也会随着参数的变化而变化
查看源代码发现,输入的page如果有特殊字符,会被进行了过滤。
没有办法进行利用。
3、news.php页面
error参数
在footer.tpl中,发现error参数。发现对error参数没有进行任何过滤,直接输出,导致弹框。
4、url重定向
url地址:http://localhost/minicms-2.0/login.php
在login.php页面,对editor和password进行了验证
如果登录成功,则重定向到phpfile传向的地址。
效果如下:
5、任意文件删除
在地址:http://localhost/minicms-2.0/plugins/filemanager/files.php下,
在插件里面/plugins/filemanager/files.php中,在没有任何权限控制的情况下,可以访问该目录。
对delete没有控制目录权限导致可以删除文件下的任意文件。
6、任意文件上传
在http://localhost/minicms-2.0/plugins/filemanager/index.php下存在上传文件,并且未对上传文件进行任何过滤,导致可以上传任意文件,上传到目录为/content/files/目录下,可以直接使用菜刀连接。
同样,在imagemanager下,存在上传图片的页面,页面上只能看到上传的jpg文件,.php或者是其他文件,无法看到,但是也是上传成功的,直接使用菜刀连接即可。
代码如下:
菜刀结果如下:
请多指教,已发地址:https://www.t00ls.net/articles-47837.html