1. 程式人生 > >feifeicms 4.0 幾處任意文件刪除

feifeicms 4.0 幾處任意文件刪除

訪問 watermark oss image action del ffffff index rss

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 幾處任意文件刪除