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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:
% C& p; Q8 Q/ g9 o- eDedeCms 5.x漏洞描述:
! p0 d* |1 W- w9 h& xDedeCms是免费的PHP网站内容管理系统。+ L" o) l% r, a" i+ n4 y! T* {
5 M! o/ E( h5 Z. D/ S9 B
plus/carbuyaction.php里没有对变量进行严格的过滤# ~: s5 q  e+ p, @) z
2 y& Z; e& L8 `' u( f
出现漏洞的两个文件为:
7 W$ r% e' i" j9 w8 h4 H( C% zInclude/payment/alipay.php
( x) T6 O& z/ r% ?! T2 H8 CInclude/payment/yeepay.php2 Y& {4 C- f0 S. z+ m; p
漏洞均出现在respond方法里4 d: Z3 x& L: _, r, O

9 \5 p+ {. u* u/ X  [; A3 p7 @0 ~Include/payment/alipay.php # p) B+ w; f& E1 z
......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......  K' \9 U+ w& a+ f$ V
                       
# ^% ?5 N. J) E# v大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。
& j0 ?8 X  v/ C. R: S! vInclude/payment/yeepay.php" _! [: s( Q- N( S! a
......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......
0 J$ Z+ J0 h0 @; K                        8 z4 N1 x7 g9 z5 u+ |; \
大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考
) I# P" R4 j2 d4 d3 p- Uhttp://bugscan.net/manage/node/83
- ?/ B; V: c/ X; i' f3 Ihttp://www.cnseay.com/2515/# M. h4 i9 \/ r9 h
*>
* c/ \  u* J5 ?9 j测试方法:/ N7 j& e$ _/ O
1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie ! S0 a- ~! v4 m+ Z/ T2 O
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径$ G, h2 o1 p5 `' k
修复方法:
5 i( b$ T% z' j. P目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
8 z: v7 c5 t. K% U$ @http://www.dedecms.com/products/dedecms/
3 C, |% m3 E3 C% Z' p( k" H7 y3 h( H
临时修复:
3 S7 t5 w+ H. ?0 O1)Include/payment/alipay.php8 j% e0 Y$ u4 w, n1 t. G% h$ h2 P
  大概133行左右
( y: [9 Q8 z" D5 T$ W5 s  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';/ \1 i9 c8 Z- n2 \6 U: Y
替换
9 z& \9 V- R5 v$ W& z: X require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';
2 Z1 y& L7 l: I1 y- `6 C& `2) Include/payment/yeepay.php5 f$ O. z4 k9 h* |
大概在145行左右* p" A( O8 y2 B8 T; v
require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';& r# d: e- B0 v. S2 h- Y  @! c
替换& O) h" Q, C  E5 d9 i9 V) ~
require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';; q0 {- z0 ]/ ~% d) l1 E

( f+ s/ z- p) `% W% L0 I
回复

使用道具 举报

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

本版积分规则

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