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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:$ Z2 F7 ]; o6 U2 s: U# Q
DedeCms 5.x漏洞描述:
; J1 u& _9 ^, C& e8 A: A: cDedeCms是免费的PHP网站内容管理系统。
" K3 B. P% Y; o# R: A$ f
1 E7 c) M8 Q  G5 Bplus/carbuyaction.php里没有对变量进行严格的过滤/ U$ W+ U. a6 U6 k6 v

2 o" h+ \0 d( L% n9 x/ O出现漏洞的两个文件为:1 Z" S/ n1 c3 H
Include/payment/alipay.php8 E6 i7 S: h' |1 r" k5 {3 u, e* i
Include/payment/yeepay.php9 Q/ x, ?. N. w+ k4 M8 T
漏洞均出现在respond方法里
0 H. }; s; A( H. e- k4 b5 V4 p! k* T2 p# l+ P
Include/payment/alipay.php
1 x/ a' e; @! j2 E! h, ^3 T......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......  z% \& K9 B+ q0 Y) T
                        : t) R2 G3 n9 K3 r- K: _: I
大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。
0 B9 ]. |) n" K; r3 t( Z: b8 D0 iInclude/payment/yeepay.php. }" k, k1 A8 l% p
......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......
& q! w6 H3 ?1 o% b1 f* t                        ' d  e, L# f. q+ n
大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考
9 o& e2 \) v. r/ Thttp://bugscan.net/manage/node/83: `: F, J! w. d, l+ y& A- }
http://www.cnseay.com/2515/
+ \0 h# A- |1 j# b$ I: d* n*>! d; C8 g- o/ t* o/ [% g, v( A
测试方法:
( t( P2 s* F7 m, u1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie # \0 T/ H4 Q3 B: P
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径+ L' B/ V7 N  N2 Y* ]
修复方法:; h, {# h* r8 C3 Q: `. h7 i
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:! u9 x+ E1 E& U2 u. T
http://www.dedecms.com/products/dedecms/
. e/ r+ M, H% [3 M* Y. p# M- U/ e9 p; e/ m
临时修复:
9 q- z: r- ^+ [+ t) G, ]5 B1)Include/payment/alipay.php4 n6 `' ?( G8 k) d3 i" N
  大概133行左右  E5 A. t0 p6 ]7 H7 Z! `! S
  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
1 J% M& ~) u, k) L; M4 c替换0 C, S, p" B, c7 ?) ]. v
require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';
4 ]1 a) N' R3 \8 Y2) Include/payment/yeepay.php
5 f2 ~5 \/ M6 d* z* }大概在145行左右
. D+ }3 A# y# u  W require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';
0 l) C! C8 t/ c+ X1 a+ W 替换
9 u! f5 m6 d2 [: Y require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';4 {6 ]( N: M3 F$ r  \+ z
, ]* ?& y( h& u2 A' x: i
回复

使用道具 举报

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

本版积分规则

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