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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:
  @! }  ?% C! e" z0 w1 ~DedeCms 5.x漏洞描述:
0 y% ]: p- ~5 C4 _, K5 z' QDedeCms是免费的PHP网站内容管理系统。
3 e' T0 q; X1 m: m% [$ t( p* K4 O  r7 H. I
plus/carbuyaction.php里没有对变量进行严格的过滤- |3 o" H3 \4 E+ x3 f9 q( S

. ^: O" v8 d1 g1 N3 T, S( `出现漏洞的两个文件为:
8 T6 L! q4 m  d: U- j& L9 t& RInclude/payment/alipay.php
9 S# Z/ t) Y& JInclude/payment/yeepay.php
/ A! X% U# @! Y, \) q漏洞均出现在respond方法里8 \) q0 L+ C' q% {2 p4 i

4 {, [, k; f$ z1 I5 }5 ?Include/payment/alipay.php + z" z, {. A' p+ u. M
......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......% i, r2 O4 b3 t4 l" D
                        8 _; e4 k1 H% m; {% m. ]
大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。# u1 K# H  W9 n: L+ V5 h" G7 N3 v
Include/payment/yeepay.php
% n  A3 S- Z* ~) d5 d......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......
0 \) f7 x4 \" g4 ?                        4 q" `, h+ b% b5 b9 {; c
大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考% @% V- J- T6 H6 }
http://bugscan.net/manage/node/83
( ^1 w! d/ X( [7 g7 G% Whttp://www.cnseay.com/2515/
% W8 ?1 i9 B: d! r: Q* q*>
' Q$ L' f- t# t! r4 o0 L, A测试方法:
. G( @/ q: T# m! O: f, t; z( f1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie
: {8 d: O, A* V& v# P; F) s2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径1 f5 Q- V9 ]# g* n
修复方法:2 o3 E' }8 Z9 F5 k4 r
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
, l2 k3 x/ r3 g' u$ z- {http://www.dedecms.com/products/dedecms/- E% X. \' g& O% v! C

$ L3 i. X( V" f( }1 P 临时修复:
7 {+ r, W% [4 K1 r6 g1)Include/payment/alipay.php
: u( _2 f$ i; Y% h/ S  大概133行左右
; t' l! y$ [1 x0 ?. ~: J/ J  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
4 u! a( ?$ V2 T8 ?! o8 ]; h替换
/ D7 ^2 @; `  s+ ^( E8 ] require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';/ _/ l$ O+ B5 H: }
2) Include/payment/yeepay.php1 J9 r0 K- ~1 E4 _
大概在145行左右
& [% w9 J$ K: z" o require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';, w1 F. c! Q# ~. x1 d' v1 {2 A
替换
: c# P0 T: |4 Y0 s require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';
; j# J5 k$ H* p7 E' _/ C3 F. f ! X4 c& K. w! `1 p
回复

使用道具 举报

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

本版积分规则

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