找回密码
 立即注册
查看: 2322|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:
3 O9 C, ^: r% E7 m9 }5 j5 y& pDedeCms 5.x漏洞描述:1 u% x$ H5 D/ b% c1 b' D8 g- i
DedeCms是免费的PHP网站内容管理系统。' s/ i. b1 l( e: [; q

2 q3 \8 m3 a/ G: M+ pplus/carbuyaction.php里没有对变量进行严格的过滤
0 |8 j% A& q3 p5 u; t0 U' E
4 u- D8 R% u; e9 E出现漏洞的两个文件为:3 W: e7 i6 [2 A4 o6 h9 a/ O+ @$ d
Include/payment/alipay.php
. v4 j$ ^4 a4 y& ], FInclude/payment/yeepay.php
3 L$ {* W( @+ [# q漏洞均出现在respond方法里/ V+ u" |' @* [; X0 {- y

0 t9 e2 c: R) ~& i; V$ h$ ?Include/payment/alipay.php
! I1 @* d6 s. f1 W4 t9 f......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......
' Y( b1 i6 Q; q; ?  T+ n                       
" `5 d4 d- h/ U/ O大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。7 L. _* }0 [5 |5 O* S2 Y& H
Include/payment/yeepay.php9 O( d8 m3 L: c# ]+ Y6 }0 k- M
......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......
" _* Z6 \5 Q! b                       
* Y6 R$ @, @  S" S大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考
2 h. [& U2 V9 `* \9 C: Xhttp://bugscan.net/manage/node/83
2 n8 L! Z8 Y; Phttp://www.cnseay.com/2515/- s8 K* }1 Z, b5 M
*>
) W  D' U5 p) K8 R8 @3 P测试方法:5 O& @* X, R/ A% J1 z- o& t: e
1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie
$ I2 w7 g- h" E! z  x2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径
) f* r7 S$ ^4 i( M修复方法:9 W. d; h6 I) }
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:& f! B+ T) I* [: D- h. O
http://www.dedecms.com/products/dedecms/. R0 t' l( r) m3 s

: x0 |2 A9 A6 h' L 临时修复:
  v, _& s6 V: L  {1)Include/payment/alipay.php
+ ^/ E1 \0 n; R  大概133行左右
( S% ^/ K' B" \. l/ w0 {5 e2 U  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';* C2 W% {0 p/ U. G; }
替换
  z5 j: w* H# E! q4 A require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';" [% Z: p- F" P' N* |
2) Include/payment/yeepay.php
: x# B. ~' C3 ?  ]! o$ v/ D$ h3 j% x大概在145行左右
& p8 J. ?, K4 b! e require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';5 m1 w! {" l- d) @( F
替换
# f1 W- l+ U1 k6 p0 _ require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';: ~* v1 Z" g$ B# c- w
( [; I$ k1 W0 l9 M# ?* y
回复

使用道具 举报

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

本版积分规则

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