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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:3 o" G$ a2 c) U8 ?0 ]+ y
DedeCms 5.x漏洞描述:
0 G' V6 x$ Q2 S6 lDedeCms是免费的PHP网站内容管理系统。8 i5 x' F2 h) s5 j5 D

& h  j1 X  U2 _- R4 Dplus/carbuyaction.php里没有对变量进行严格的过滤
" w* M, s9 t5 J9 c. d( \. F
1 p- A- X4 b+ m1 Z4 s出现漏洞的两个文件为:
0 ~9 H/ [8 ^' N  o5 F7 `Include/payment/alipay.php/ _& y+ C7 H7 e8 V8 a7 `- P
Include/payment/yeepay.php. h; `$ }8 {) r1 \3 @8 S0 `
漏洞均出现在respond方法里  @6 ^7 A3 I9 p4 l- m  W! [% U) w
* U+ ?' E3 \0 ]- K3 G0 \0 i
Include/payment/alipay.php 2 X6 z9 _% |6 I% _# L
......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......
. Z  s6 [5 s" A# N) Z, H                       
& B& i( L, f5 x6 p! W1 E6 S大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。
; G; J, l# `8 Z) l6 ^, RInclude/payment/yeepay.php
2 q8 r" }1 d! @2 M3 M! Q; P2 [7 Z......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......
2 y) Z: P& J7 l                        * f9 a5 J* N- W! `
大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考; r! k6 a/ u$ }
http://bugscan.net/manage/node/83
" z6 x% ^  W  ~7 E1 n: f) Dhttp://www.cnseay.com/2515/
6 m* T2 R" T" [3 m% A& H6 b*>
" `, @% N* a1 T" V测试方法:
& D# x5 l" ?- ^& u" ]1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie , j4 D+ j: [6 F8 u7 R5 c# h7 D
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径
, u/ g/ {* k5 w5 D9 t% z* E修复方法:0 y8 K( }( Z5 I( \7 g
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:" V4 D" d0 @/ i) i7 X- X
http://www.dedecms.com/products/dedecms/
' e8 p% @; S; w" j9 ]; T0 D; V' d3 c! u4 y! o
临时修复: ! C8 w0 I9 Y/ n( ^# {4 L+ ^: f
1)Include/payment/alipay.php  }1 D/ O+ }* {
  大概133行左右
1 t* a. ]/ u  u( ~  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';' m0 D1 m8 s; i$ `+ W3 P& |
替换% Q% h# b" W8 L% _! g
require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';
3 D7 ^% Q! c2 x' i2 V" b8 B2) Include/payment/yeepay.php
1 T( f  s: ~  G. t" R4 ^: J大概在145行左右% O& D8 g: P! m' I6 @. m
require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';
# G# M! l" E4 _% b/ X8 r 替换* [& R. d( a3 @$ s5 \/ t# }
require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';
( C8 }0 k; q2 t' d1 C
2 B0 X$ w' M$ m1 F- V" F1 V
回复

使用道具 举报

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

本版积分规则

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