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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:: d) @7 t7 t8 |3 r; ^
DedeCms 5.x漏洞描述:
8 ?8 d: J! c! c! j# M6 C6 iDedeCms是免费的PHP网站内容管理系统。
. r! B2 A1 e4 K1 @2 Z2 u0 q2 h9 r: j- {
plus/carbuyaction.php里没有对变量进行严格的过滤3 o& E0 S* W# B
/ N# d1 I. R, v& |! n- A& `
出现漏洞的两个文件为:& A/ u1 n* O2 v+ I' l
Include/payment/alipay.php% l1 g8 Y8 Q/ b$ ^; K" t; {" C7 w1 F
Include/payment/yeepay.php
2 Q) x$ \( O) T漏洞均出现在respond方法里
* M( v3 X' _* {
1 r( @1 C9 f3 y: g8 qInclude/payment/alipay.php
% P) r1 \6 z7 \7 o......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......
/ a! D; y9 x0 `$ v" q+ q1 X                        2 [# Y6 r, S# @' {6 w- o, H# d+ a8 A! L
大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。' @3 d; D1 @( a' [
Include/payment/yeepay.php
' j0 t) Q- j/ i+ |......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......( B: m0 m6 A" |1 [8 i
                        6 a" ^2 z1 T/ e  d# v
大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考# m" i1 p/ _6 E7 W  P2 M
http://bugscan.net/manage/node/83/ h, U0 W/ d( d; \) V: A
http://www.cnseay.com/2515/
# Q4 v- {! X, R0 Z1 e+ k*>( Z6 v7 N% M& u, Z3 W
测试方法:
7 r1 V( [$ z, q$ _3 V1 _" W1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie % p! G. H" P% [9 C* x6 b/ X
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径& n) ?! Y) M, R0 D4 ]
修复方法:# d  s" ]& a% h2 ?! ], _) i# Y  v
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:8 {9 u3 }- R- c: R
http://www.dedecms.com/products/dedecms/
* R7 i, v3 k# k) n# P
& n6 E* a+ M, G/ a8 Y9 f3 g% f+ a2 k 临时修复: ' \# O' |, [# ], z+ ]) L6 l6 r
1)Include/payment/alipay.php$ f1 R1 |7 _8 [0 I( E
  大概133行左右
; C/ I1 `- S' M5 N6 [; H  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';- M; X" @8 F9 g
替换& H) @5 ]( O7 O% o) `3 O, H( _
require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';
: A3 Y: E1 t. G4 U; n  E2) Include/payment/yeepay.php
) \# Z0 B& L# v1 V! I8 G+ X大概在145行左右" ?* y! A3 G# {/ p8 G
require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';
& _0 d3 b$ t- |3 a: }, D  g( f% B 替换
; I+ k" ^, o' L require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';
; ?9 n5 E0 U# h8 l) t4 ?! ^* W; e! w / G7 G2 `- P1 F* \/ h5 D
回复

使用道具 举报

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

本版积分规则

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