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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:
4 x/ g4 u& c( M4 c& NDedeCms 5.x漏洞描述:
3 S7 K7 C7 J* Q6 ~9 p5 WDedeCms是免费的PHP网站内容管理系统。  y2 j9 c8 G* H8 i9 X

# \+ G) p( \3 zplus/carbuyaction.php里没有对变量进行严格的过滤0 Z: q( O7 G* I  P4 E& U

: l' i* z0 E) s6 l( C# S- ]: t( u出现漏洞的两个文件为:- p4 R! Y3 E0 ~7 M
Include/payment/alipay.php1 n6 O; y6 y) I4 Z
Include/payment/yeepay.php
6 r2 J& E" s" c8 G5 A漏洞均出现在respond方法里
+ X2 d3 w0 b( _6 j  Y0 P3 S' `; l# B8 A' Q7 E, `
Include/payment/alipay.php , |0 M7 E% X' M; j! t: W8 Q* |" J
......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......
* S9 Q. J; Y+ l, {/ p* {' O9 N                        2 ]0 ^# \" a" l: S" C" ~) w
大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。9 c" Z8 Q, l) }2 [! d+ M' S9 j
Include/payment/yeepay.php
* [5 C; {! R* ~4 _3 G# C......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......5 C# x; c6 K  I" n
                       
3 S" C! p: R9 I) O大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考/ Z  v- H- O8 c8 ^
http://bugscan.net/manage/node/83
( R- _  p0 |/ u8 V# \0 J6 c! whttp://www.cnseay.com/2515/
5 p( [+ w' _+ q; I5 A*>2 D% ^% P# |6 S+ P
测试方法:
' r. R( h. E  E" N1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie
% I; n6 C5 y$ u2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径
; {; I4 {5 W) g. Q修复方法:" K  t; R+ J3 ~5 z# ~
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:- Z( p6 W8 W4 |# [  c
http://www.dedecms.com/products/dedecms/
+ w$ x% [( E" g# F5 ~* J8 {8 @" Y/ T" j/ J0 M4 u
临时修复: / S4 A2 G+ p6 n/ n, W
1)Include/payment/alipay.php+ P4 t- V6 g' D
  大概133行左右4 d: ?2 j' s& ]4 n9 B/ r
  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
) |' o7 f9 M9 B( p替换
6 {# ]4 G+ M$ l1 G0 q4 }2 V# D" p require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';
# q" l' U+ G* ?/ W+ m2) Include/payment/yeepay.php
3 j9 s, Y& I* \- T& f9 Y大概在145行左右: h# _) K9 C3 G) b
require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';* D; j4 F9 }. n
替换
. Q/ B; E9 t8 c8 B7 T" r5 C! }- Z require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';. \. \7 j2 b5 ]7 Z' G
/ |+ y+ x" P! j
回复

使用道具 举报

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

本版积分规则

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