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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:5 U* _+ M. k' [& A+ W5 G1 Y4 K
DedeCms 5.x漏洞描述:* i& _# E3 a0 X$ W
DedeCms是免费的PHP网站内容管理系统。. y0 z4 U' V0 r/ f  Z) w; n

8 B3 @6 H+ a' k: Tplus/carbuyaction.php里没有对变量进行严格的过滤& }) J! U: |4 Z, p

9 a1 r& v: V8 b, A1 P出现漏洞的两个文件为:6 r: N! P/ [2 F, w
Include/payment/alipay.php% B, O3 q7 e! {* M9 @3 \
Include/payment/yeepay.php
* M+ s. j1 g1 S' Z7 u3 M/ t6 c5 k漏洞均出现在respond方法里- a& V$ n+ O2 H. J# ~: T
0 Z1 r' `7 @7 p# r6 E6 M4 y5 |. W
Include/payment/alipay.php
1 {; j: S+ l  r5 V& G3 @7 o- g2 A6 V......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......" A- v: y$ c% Z1 I$ E( l1 q
                        4 l" S2 h. S; A
大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。- A- u+ {2 h) w8 P$ u1 z( A
Include/payment/yeepay.php
" Z- n, x' P9 U$ x% u: n! o- `$ z......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......, T1 L5 {* G% L$ t/ V! O( s
                        ! p+ C* D2 {# J5 n$ h! h! o6 _, }
大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考- q, c( W1 A. ^- O
http://bugscan.net/manage/node/83! ]9 `0 M9 `1 L  A$ `  h
http://www.cnseay.com/2515/$ _9 C; H# X7 {. H  a! {
*>
- v; A- v% j' k7 z9 P9 {  \( O测试方法:( L" Q7 J0 X2 H6 ^. D+ m* E
1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie
7 H* D/ d! H/ H) I5 g- f2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径+ l+ l3 r* L" }, p/ ]
修复方法:
2 ~' C( a  \- R1 M目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:8 V; Q+ k6 @* o! X
http://www.dedecms.com/products/dedecms/
3 l. G2 q1 M& x, h
3 L7 x% Q  a1 A" y. L* J/ ^6 J1 |2 ^ 临时修复:
, N" T" W) X' q& g7 I1)Include/payment/alipay.php& A# i$ m; i) o0 ]- n/ i
  大概133行左右
% |5 r+ ?. {1 ^  q! U  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
0 I0 A4 w& d+ B$ U& O替换
3 Y6 c' v. ?1 J2 L3 H) S8 E require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';
) y- f5 j2 R0 o$ ~; ~  }- |2) Include/payment/yeepay.php
& _4 }0 m2 x/ x* s  n大概在145行左右
# S) D( x! t1 X+ E require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';4 _* M* R' I; v. c! ]) t3 p! ~
替换5 C( t1 e# P: F# U" o/ t
require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';2 W1 X# Z& t) G9 ?) u' G$ ]
3 C. a$ Z) T! B8 ~( u
回复

使用道具 举报

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

本版积分规则

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