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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:
7 b) C2 |: \1 k! CDedeCms 5.x漏洞描述:# m/ z/ |# [% l: w- S
DedeCms是免费的PHP网站内容管理系统。
$ {; }$ K' W# n" B$ S3 _
" ?/ \; j2 \5 x% P6 _) h' p" y0 Eplus/carbuyaction.php里没有对变量进行严格的过滤
4 {' t0 E, G5 k% m/ Y5 |0 ]% r/ Q8 H$ N, |
出现漏洞的两个文件为:# E/ ]' k+ E: D, T
Include/payment/alipay.php+ t, @+ |. S$ j9 G) o
Include/payment/yeepay.php
! o9 {- b7 `* `5 {1 h漏洞均出现在respond方法里
8 e. C. l8 k8 S2 B6 Y; F, e
" N' N* X  H& Q( P- W- E& s3 UInclude/payment/alipay.php - O& \0 e9 R" w' d
......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......
9 U  N& C& T3 p* T2 z7 e                       
! G. ~+ L6 G7 E& D- G: m大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。5 l6 B* y/ B% v6 d7 y
Include/payment/yeepay.php5 ?; _/ e) j5 `- D
......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);....../ g. `3 q7 [6 ]* x* N) u  Z
                        3 C, B9 b" I5 ^6 K+ S0 ^
大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考3 |# |$ ]! k; ?2 h" t" J) L
http://bugscan.net/manage/node/83
/ k( \+ z! d) _( \2 p; }3 ^8 Shttp://www.cnseay.com/2515/
0 ~2 M) ^( L) x$ q*>
/ J1 u; J; D. o. X' I: }5 Q$ L测试方法:; ^5 m( T: _# H. H3 v
1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie ! D$ f, Z1 n8 b# k+ q8 j* h
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径
3 n; Q5 K) i5 d& F& Q修复方法:
# d% r" c" x% Q4 }3 w目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:. }$ }. K/ T0 P; P) Z
http://www.dedecms.com/products/dedecms/4 V, k6 R" G, [" Y
( \4 o; g2 D3 a4 o
临时修复:
# Y9 `% Y6 b  ~* R1)Include/payment/alipay.php
! S3 X/ Z* b1 L  大概133行左右3 a# t) L: ?9 q+ r0 ]# K) z
  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
$ d9 m8 U8 e0 g' }/ F7 z$ V, J替换; E/ u7 D" c! |, a
require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';/ a; w/ U, |# W3 Y9 g5 `% w
2) Include/payment/yeepay.php
1 ?& Y4 e  \7 B4 j大概在145行左右
- a/ {- o( F! z  M6 w1 v) @, X; o1 M require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';
6 z' |/ J* p! w: N1 K, R 替换
6 q( Y% M8 }: A8 [6 d require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';0 V& I' N" h* p5 X( ]
1 o: U$ d8 i/ C# E) p6 {. k1 G
回复

使用道具 举报

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

本版积分规则

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