关于某cms的任意文件下载和删除的代审。
php下的mvc框架开发的lmxcms1.4版本关于文件操作方面的代审: 主要思路搜索关键函数:如unLink()删除函数,文件包含函数include等,file::put读文件等。再配合黑盒去操作 一,简单随意操作之插入xss发现有过滤直接上图1、发现直接过滤了标签,然后找到代码发现确实有过滤函数2、跟进delhtml函数 3、发现是php封装好的函数strip_tags(),对输入过滤了html标签。 二,后台代审之任意删除文件 1、在admin目录直接搜索相关删除函数unLink(),如图
2、搜索中可锁定Basic****文件,进入相应文件查看并跟进谁调用delone函数并找到可传输变量。3、以上可看初delback**函数有可输入变量及调用了delOne,delOne函数中删除操作有设置固定目录,尝试…/…/跨目录到跟目录发现可以,自此分析完成。 三,后台代审之任意文件读取
1、在后台目录:关于读取函数file_get_contents关键字进行搜索,如图 2、直接锁定了下图这个文件,因为看着像有可控path变量,那就进去看一下。3、进去后锁定下图中的函数,果然是读取函数,继续看有没有别的函数调用此函数(因为此函数无法直接从前端传入)4、在Template*****文件中如下图函数,传参dir,可实现查看文件,因为不知道主要路径直接显示了输出通过调试也可发现读取文件在template目录下。
5、继续…/跨目录发现可以成功越过,可读取到配置文件 四、后台之任意文件写入代审
1、搜索关键写入函数file_put_contents()2、分析上图可知写入函数在较多文件中,分析后确定了写入是在file..php中,进入后确定如下图此函数。 3、找到谁调用此函数,定位到edit函数,在Template****文件中 4、对上图代码分析可知如果参数settemcontent参数不为空可触发put函数,如此分析完成、下图验证:5、发现上传成功
之前没学过php,简单操作望师傅勿喷
|