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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
漏洞版本:
. ?7 V- w6 b7 x/ Y, wDedeCms 5.x漏洞描述:3 ^* @0 G, z' c  k  |# E
DedeCms是免费的PHP网站内容管理系统。' m" t: E1 t" B" Y% l
: u( S4 a- x8 K" T. n. D
plus/carbuyaction.php里没有对变量进行严格的过滤
! R; s* t, `: `$ D% C4 i5 g! S3 a4 |4 j) S  P; S% `' y3 ^2 m
出现漏洞的两个文件为:6 U( e1 i: i' Q( h$ N1 W
Include/payment/alipay.php% m* Z( p7 B: f- f9 ~* C8 \/ `
Include/payment/yeepay.php1 j" g# v$ q) m- d) }0 K+ a/ z
漏洞均出现在respond方法里
. z6 u4 u! X1 x! q" Z0 b/ I7 J( z+ P0 c
Include/payment/alipay.php
. m( s8 h$ K; q, s% l+ X  i6 z5 l......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......
4 T. X, N' b) |/ O                       
7 `1 l6 {0 c; {# b6 [大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。- N: n* Y/ [1 C
Include/payment/yeepay.php
9 u1 B$ j# Q/ R$ l; Y......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......) T0 k. |7 T/ @/ C7 M& l
                       
7 |0 ^) ~) z, \大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考
) y* c- _# {. l& ?( C6 D4 J5 r+ Phttp://bugscan.net/manage/node/83
- R8 D: f2 ~2 }( Xhttp://www.cnseay.com/2515/
2 u2 w# n* y% t9 ^*>
( J) G8 y% ~1 M/ r$ F测试方法:
& Y( J; _% _) `- w7 P1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie 4 t/ t" w$ w; Y. N3 w% [( m$ G5 j
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径/ j+ p; P; X( [1 l) h7 N, A! S
修复方法:
% K0 q+ A: V+ G* M目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
' b! ?7 K: _2 B- Nhttp://www.dedecms.com/products/dedecms/
3 x  t/ d: Y  M* W0 O3 c: _  O5 R3 W* `) n: I" m
临时修复: ' i( ~6 [/ t2 ^/ H% t# O
1)Include/payment/alipay.php, S+ O7 p' B) ?$ u8 ?1 G: W
  大概133行左右
8 A6 f. R* B$ b1 M- b& c  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
/ |9 ?. N( I* V. v* V替换
2 U/ r. }$ O  ?" \5 F% n$ t require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';7 j  D2 I5 C" N5 v/ _/ h  h
2) Include/payment/yeepay.php
* ^, v  ]0 w5 U. K( N, B大概在145行左右
3 s3 ?7 X( A/ W' [# N require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';
+ p  m! u1 Q) \6 M& P/ C 替换+ p( |) V0 e( p; S8 ~* H% @3 Q7 j
require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';  T8 N* u- u0 @4 c8 u9 R( Q
% o9 g. x+ V5 p" O
回复

使用道具 举报

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

本版积分规则

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