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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:
% g0 T% l' D7 g, F% s' q% yDedeCms 5.x漏洞描述:
+ X$ O0 ?1 j5 N9 B1 v! eDedeCms是免费的PHP网站内容管理系统。
) D4 r2 m* O2 M: S, A- h- z- A+ |1 r0 K: H  ]. r# [2 j% _7 `
plus/carbuyaction.php里没有对变量进行严格的过滤0 z( j* D2 I7 \

: G$ ~3 }2 j' I出现漏洞的两个文件为:/ n8 e# O& O# q1 o- }2 s
Include/payment/alipay.php6 @; x1 V# P& K; N
Include/payment/yeepay.php
& I- L* I7 u5 B. D3 x  s1 I漏洞均出现在respond方法里
! L* ?/ y8 X% C) e6 O7 p8 a- \# n, N9 `$ U  _5 z
Include/payment/alipay.php 5 W' t; G2 o( D" B( |- [4 u. ]
......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......
, t1 ?, _% ~  d                        7 {! f9 H1 D7 P, O" @3 s7 V
大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。# [/ I" `% M1 @
Include/payment/yeepay.php
7 t& m: g5 w! P# U/ V......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......
- Z5 G' m$ T  N$ K, B" B* Z) N                       
) c1 A' d- p% L大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考& O: |8 [; A& C( `8 j1 z; R: d2 ?
http://bugscan.net/manage/node/83
# p! M+ }6 o1 |$ Y6 J: T% H# Phttp://www.cnseay.com/2515/6 F. P9 [$ [+ K
*>9 M$ q% \0 X" Y8 ~; y$ E" r
测试方法:# D" @7 G6 e- z9 \- q7 @
1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie ; k. W4 R0 P- K! Z8 ^, {
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径
  m- T! u5 {8 d6 c修复方法:) O7 A+ r0 U/ `  E/ Y
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
+ K; P; q6 o+ N& `% v+ a6 P' B5 ~http://www.dedecms.com/products/dedecms/. h  B: l9 j- A( z8 [
! O' x4 C3 \9 F. r! S5 O+ [- F
临时修复: ; Z; @2 t0 r8 u% M7 ~
1)Include/payment/alipay.php
. R1 l& q9 s& o, j3 Y7 B4 R  大概133行左右
2 J6 B, N  V/ y% M- ]/ A% d/ T0 K  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';0 d2 p- w  W( Z9 E: K  a8 t
替换/ i' K- d: R9 S0 M# D
require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';
" z* T/ ^( x$ O8 K; a2) Include/payment/yeepay.php' p& z4 \  S' i( t) Y$ j' u6 q
大概在145行左右' }8 c9 Y; Y! e) }
require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';
2 A8 w. g. _7 e3 T: O. V+ Q 替换
: ^! s4 S9 u7 {$ M require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';
+ Y2 K, V* l+ B5 P; {" I' n8 m
6 @1 C" Q' A$ P5 T% T' e7 k
回复

使用道具 举报

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

本版积分规则

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