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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
漏洞版本:# @9 C% @* L, ]  |7 a5 X
DedeCms 5.x漏洞描述:
% B2 j+ D5 [" U  q: X0 Y7 l: J0 \DedeCms是免费的PHP网站内容管理系统。! g, Z) V, `) I; l' y

1 e" h- E8 e8 Z3 l9 e0 @plus/carbuyaction.php里没有对变量进行严格的过滤0 P2 Z- k. [) q$ a4 k4 a; p0 I7 b

- r; h" R0 e/ a: ^出现漏洞的两个文件为:
% y4 e- ~; F9 o# f4 h" H3 ]( w. sInclude/payment/alipay.php5 v/ \  A% w. G  a& ?/ k( @
Include/payment/yeepay.php
+ S+ w+ Y) ]  I- u. X" ?- j3 S漏洞均出现在respond方法里: b1 a+ t0 E8 o3 U$ ?) w2 m) {" S/ [
2 L5 w% E/ t& y0 B0 T; Q# J
Include/payment/alipay.php
  F5 ~7 ]/ T+ j......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......
7 q$ k' Q; a, Q1 m' o  K                       
: @1 o/ {+ ^5 I0 F大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。, k( P, {/ e0 q! Z
Include/payment/yeepay.php) N$ L2 E; \4 P; A0 S2 n8 o. L
......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......+ v0 p: v* K) F0 ~! ?; I- A8 d
                       
+ [+ g4 q: F' T# o7 V$ i# s大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考0 g& T- W* v8 `0 J, ^. N, @
http://bugscan.net/manage/node/83! U* {! i& l. T: C4 A0 \1 y- a1 N
http://www.cnseay.com/2515/; }5 a# m3 m6 \
*>
* [. b- i5 _" A" T  l. c6 o* m测试方法:
% _& F/ ^+ ?, y* j1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie 7 ]6 v; o9 L3 ~! P$ E; X" @9 j! S* e
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径
/ W  |( I! N$ p* Y修复方法:
% s+ i$ ~9 ^  u4 d9 e目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
7 t( t3 A  _* \7 O+ _http://www.dedecms.com/products/dedecms/4 B5 }) E" Q' d( _' ]5 W% r
, A4 m3 u+ A; y; ?7 d9 q& U- {
临时修复: 7 ]3 m; I9 }+ A- s9 y
1)Include/payment/alipay.php
+ S5 w6 {# u% M0 {9 K) d7 ]  大概133行左右+ g! V/ B7 q! l: w
  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';, c' y) D2 }) }) |
替换9 e  U5 y1 A8 B3 w
require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';- d( V8 z4 h/ J" ]
2) Include/payment/yeepay.php
4 {7 i; N+ ^, ^大概在145行左右
# y6 M8 v9 g7 S0 @) F require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';
8 r. I! a. c) J6 {. A. ~! m* E0 C 替换# C/ ~% s$ C; E  p7 J+ b2 v$ m
require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';4 y( \% L  V) y+ r
! r/ Z5 p) [7 G! b" M' _3 d( E
回复

使用道具 举报

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

本版积分规则

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