0x00 前言
0x01 任意文件上传
1.漏洞复现
漏洞位置:Dashboard》Themes》default》Files

点击Simpan时抓包,将src参数和content参数修改为新建文件名和其内容

嗯哼~~

2.代码分析
位置:fiyocms/dapur/apps/app_theme/libs/save_file.php

从27行代码可以看到利用file_get_contents()函数将c参数的内容保存到f参数的文件上,但是没有对f和c进行任何处理,直接通过POST方法传值,从而造成任意文件上传漏洞。
0x02 任意文件读取
1.漏洞复现
漏洞位置:admin》Themes》default》Files
点击index.php时抓包

修改参数,读取成功

2.代码分析
位置:/dapur/apps/app_theme/libs/check_file.php

从第13、14行代码可以看出,通过get方法得到文件路径和文件名后进行拼接直接赋值给$file,再赋值给$furl,然后没有经过任何处理直接在23行通过file_get_contents()方法读取$furl,因此存在任意文件读取漏洞。
0x03 任意文件删除
1.漏洞复现
漏洞位置:admin》Settings》Backup
点击Backup时抓包

修改file参数

删除成功~~

2.代码分析
位置:dapurappsapp_configcontrollerackuper.php

从第16行代码可以看到,当判断备份类型为database后直接通过unlink函数对文件进行删除,并且文件位置只是通过POST方法传值没有经过任何处理就和../../../../.backup/进行拼接,造成任意文件删除漏洞。