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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:5 Y! x( Q( ^1 P/ J" C" e/ n
DedeCms 5.x漏洞描述:
" O9 A" n! C: d' _/ SDedeCms是免费的PHP网站内容管理系统。
8 T& M" p: `5 w' X
' e! G: o$ F3 }! l) b  f; L" C" \plus/carbuyaction.php里没有对变量进行严格的过滤
4 K7 t" H; G5 N% C/ y4 u
7 f0 H7 @# R) ]+ Q出现漏洞的两个文件为:
% A+ f5 c2 K" E. b: c$ Q( }# ]% kInclude/payment/alipay.php
# a5 M; a6 k3 x- PInclude/payment/yeepay.php! M2 v* x8 _! D3 T, u6 C1 F  }
漏洞均出现在respond方法里9 U  K4 E7 ]0 [9 W3 @
* x6 d7 W3 q. k* h
Include/payment/alipay.php
. \/ K1 o$ h8 y, N% t......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......
4 s  K5 h; K% i7 `; t/ P- v                        2 q! \0 j5 X. ^, e( |3 u
大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。
* F( e- h' j2 \- m; I( g% sInclude/payment/yeepay.php, N( b6 u; ^: Y. [# Q/ [
......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......9 q' x! U$ J' ]5 K  e, v; _
                        ( }; q6 |9 J4 Z
大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考
) w1 l4 F/ q0 K! Uhttp://bugscan.net/manage/node/83
& |( z/ j, f7 Y, @. _+ f  F' E( Zhttp://www.cnseay.com/2515/
6 |9 Y5 J/ D! [*>
, R: M+ d) |2 t& @3 `, z( P测试方法:! g! x. b: f7 _. {  y' O
1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie
  M/ u% G+ Y& X. f( L; `& K- Z1 E2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径
; d( G) t9 b* f( P  G修复方法:9 i. H9 ~4 P! U% P" U
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:; B4 Y$ ~& [7 r" v* N0 h% r5 r9 W
http://www.dedecms.com/products/dedecms/
2 H7 b) e5 R2 k! F0 J) }  K) h/ X- U3 k6 J* s' r* U5 C/ s
临时修复:
4 U+ }2 U9 c, Y9 L0 @) ~9 s/ W3 M4 h. c1)Include/payment/alipay.php$ \0 i$ h, a. q" @( s; G
  大概133行左右
. q. R! M! p8 U  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
( |9 s/ P: _1 v; @$ f) t替换+ \5 O% d* A% N) k+ z: H9 f
require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';
* Q8 ~3 |1 f4 ^, X% O2) Include/payment/yeepay.php: \5 F# N6 r6 R/ I- T
大概在145行左右
8 ~0 g! |& J# t% p+ R& f/ S require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';
4 a/ ^( l1 U" s% z: T 替换, I" C4 W2 T* ]
require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';3 b$ c4 ~4 V; |( w
( c. I. N# [/ d$ _. f
回复

使用道具 举报

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

本版积分规则

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