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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:
6 g, r% x9 [9 D. s. x% H0 g+ mDedeCms 5.x漏洞描述:3 L1 Y& o& `$ w
DedeCms是免费的PHP网站内容管理系统。
7 a; R+ v6 n6 E/ D9 d: R; v+ I
6 C  ]7 f% J# d) Z$ ~+ S, U& A; \plus/carbuyaction.php里没有对变量进行严格的过滤# \8 G" T; k" ?5 h. h1 g

" T4 a$ B  M- e* A" x+ E  T出现漏洞的两个文件为:) x* A- w/ i# e' C
Include/payment/alipay.php. A/ f: q( ~: x9 q* Y& ?
Include/payment/yeepay.php" h# C4 _. s% f/ D2 r
漏洞均出现在respond方法里* q. Y  U6 P+ B6 n) j9 Q" m
% u. g4 ?) m' Q) S5 \/ j
Include/payment/alipay.php
0 l- {5 d+ m2 y7 f1 R......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......
& Z6 P9 z/ R/ G                       
* Z3 _1 }3 s4 {大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。/ k3 e* l- }# }9 H) @$ j
Include/payment/yeepay.php! B7 }% ~7 ^1 r  N3 H5 H
......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......+ F1 [; p, M, }# J
                        : L8 }$ a" \( _  P" \5 \/ [
大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考
/ g. I) l( M& f, i+ M) xhttp://bugscan.net/manage/node/83$ K# N  ^+ b  q2 k* E2 U# `
http://www.cnseay.com/2515/
) J0 A  F. |* o0 u% F" i*>% H2 }3 B( @  ?: M! X! Z1 `: Y
测试方法:! H) A, J# r6 F/ T* l* D: L
1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie
6 o. o. Y# o+ f0 a6 P" X, q4 ^) K  N# [2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径
% J  k  V4 g9 |! \/ J. X修复方法:
& @  K+ i( t1 D& W/ V7 f* ^目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
0 k/ p5 M" D2 a0 U; n/ T: {. v- |# Chttp://www.dedecms.com/products/dedecms/
$ i4 Z9 }+ m# @% @% R
2 \9 ?( v# ]; e" r; \$ t' T, r; @  h$ l1 \ 临时修复: # G( B6 h+ v* [. M5 E$ S: _
1)Include/payment/alipay.php5 u# q" `" b9 Q$ N, X$ j1 l/ r
  大概133行左右
+ q2 F3 x+ a2 U  J  h  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';1 H: \) v! H& i1 @) Y; j
替换
/ u* Q# o& R1 v! q9 G8 Y" d( u require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';
8 P5 i& h4 R' V. N( e% y4 j# Q2) Include/payment/yeepay.php
" X$ a0 e" b4 C  C; O7 L, x大概在145行左右
( H* r+ i. G- K; N6 b" [% ]7 X require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';: s$ y8 p7 v3 I2 }3 t- p
替换
: N+ K) o1 v  y4 b: o6 b: Q require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';
3 `, W, D' U8 U/ b! p ! A1 e8 s' h& a' P3 x+ \& f
回复

使用道具 举报

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

本版积分规则

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