码迷,mamicode.com
首页 > 其他好文 > 详细

feifeicms 4.0 几处任意文件删除

时间:2018-12-10 19:12:34      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:.class   字段   相同   功能   默认   51cto   roc   png   lib   

1、位置Lib/Lib/Action/Admin/DataAction.class.php,两处

技术分享图片
未经处理的GET和POST参数直接拼接到路径后,造成文件删除。但实际本地测试发现_bak文件夹默认是不存在的,需要进行备份功能后才能生成。
全局搜索_bak字段,找到一处_bak文件夹的创建,在Lib/Lib/Action/Admin/DataAction.class.php 51行的write_file函数。
技术分享图片
进入write_file函数,可以看到内部调用了封装了的mkdir方法mkdirss
技术分享图片
现在构造payload,需要先备份使创建_bak文件夹。这里需要满足strlen($sql) >= $filesize*1000。
技术分享图片
备份成功
技术分享图片
下面构造文件删除payload,访问http://localhost:8888/4.0.181010/index.php?s=/admin-data-del&id=../../../../../../../../../Users/xx/Desktop/123.txt ,删除123.txt文件
技术分享图片
另一处原理相同,这里不再测试。
2、位置Lib/Lib/Action/Admin/TplAction.class.php,88
技术分享图片
可以看到id参数没有做过滤,是可以进行任意文件删除的。测试时在桌面上创建123.txt,构造payload为http://localhost:8888/4.0.181010/index.php?s=/admin-tpl-del&id=/Users/xx/Desktop/123.txt
技术分享图片
可以看到文件已删除。

feifeicms 4.0 几处任意文件删除

标签:.class   字段   相同   功能   默认   51cto   roc   png   lib   

原文地址:http://blog.51cto.com/12653365/2328557

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!