找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 1932|回复: 0
打印 上一主题 下一主题

织梦(Dedecms)V5.X 本地文件包含漏洞

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:- l) b1 @- }" W" B
DedeCms 5.x漏洞描述:
3 ?0 c! N+ l; l- H0 f" I$ ~DedeCms是免费的PHP网站内容管理系统。2 ^- T, }9 u5 D  }
  H/ B4 F* Q1 c, b' ^3 G3 H6 S
plus/carbuyaction.php里没有对变量进行严格的过滤; w! q$ k, d5 {

7 M1 T& G8 ~0 H$ [6 h* V出现漏洞的两个文件为:
6 {" ^- z) j8 m, _0 f" A! lInclude/payment/alipay.php' {( V* g# j+ J. X
Include/payment/yeepay.php) z+ a5 J: ~( p% R( ]6 F3 m
漏洞均出现在respond方法里0 u/ @7 Q: r" G* z! L9 R2 u

& C8 u; [" N( v) bInclude/payment/alipay.php
# T( G9 Z( T# g......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......2 U# {2 \! \9 X, V
                        $ N& a" T5 a3 a5 W; Z
大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。5 E9 I% Y, Y/ L" X: W8 H
Include/payment/yeepay.php
' k, }  s9 j# g) {) H......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......7 y& c! Y+ i. b5 u. s
                        - s/ }3 R. Y/ v4 ~$ w  u, T; Q
大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考, z' g6 A, _' u! {, ^; ]$ b6 z
http://bugscan.net/manage/node/83) q! o& u* ~5 o4 c
http://www.cnseay.com/2515/' v; v! w9 ^& ]; Z/ y& G
*>
3 ?  ^: P" s3 D- k  Q' X2 c; `测试方法:: h+ e! y1 S! t% u7 K
1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie & F# X' G. [3 p2 q+ p; p
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径
  I+ P; J* q' p6 v修复方法:9 o; n+ G5 B4 L- q' F/ h( K- p
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
. ?; O& u/ b/ n% E- qhttp://www.dedecms.com/products/dedecms// [3 v, z7 j0 J6 `& S

% B+ Z5 l& u  s( r( R 临时修复: ; N. o7 f! w6 H; g' E3 G% [# |
1)Include/payment/alipay.php
- P9 p" a0 u1 u" F  大概133行左右
# Z  o; z6 v4 l- m2 `# h  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';# I$ A2 E2 k( p1 C
替换3 |1 }4 `  q' U' v) j8 p/ Y. S
require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';
+ W$ S- }; _- ?( w2) Include/payment/yeepay.php
) r3 z; K7 @1 `1 I  D1 ]; `大概在145行左右
/ [* M. |  h) o" V' h$ D  T require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';
" V+ `) h4 ?/ G/ A" O: | 替换# s9 B5 u" V) e
require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';
% V# b  w! A1 E, I4 M! I
8 y1 w( C6 Z6 P" }) `, m
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表