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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:
. _6 \% D/ f/ C* j3 w, iDedeCms 5.x漏洞描述:
) N8 ^: a7 e# w5 m- Q1 BDedeCms是免费的PHP网站内容管理系统。
  a  t1 o  y# E, f, ]2 x8 Z) s* ^! v; [2 D9 w
plus/carbuyaction.php里没有对变量进行严格的过滤
; Z& p: y. p4 @. l
: O8 R; L4 ?, v, X出现漏洞的两个文件为:
$ K  ?' w3 D1 {- mInclude/payment/alipay.php
& |( c% h9 l5 CInclude/payment/yeepay.php8 [& x% l" Y' z; G4 p8 q& w
漏洞均出现在respond方法里
% m) [5 M. ?8 w
1 ?: w1 }1 o: }1 s$ {& \4 c' n4 wInclude/payment/alipay.php
3 O" Y  t& i6 J7 `8 i* a6 v......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......
- E0 B$ h- T: `                       
1 u* N' e( T. t7 I! g' n大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。  i% z  ~9 H; r. U5 T  T6 m
Include/payment/yeepay.php, S' }4 }9 x! d3 W
......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......
8 g3 S! m, J. w                       
. P5 U8 {- ?( S4 n. u5 f! C大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考. S( p' z9 s" H# H
http://bugscan.net/manage/node/838 s2 I8 W( R) Z9 G1 y# V* P
http://www.cnseay.com/2515/
1 G9 E2 I( T* _( g; Y) R# J*>
% E5 W' v- [: h( |$ |/ g7 |) I: E测试方法:" z: U- F3 E8 f" f2 G# Y$ v
1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie * m6 Y! ?0 E6 R+ p
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径4 T' f9 Z$ s- k  [) ^& ]
修复方法:
- d' v* y3 E% L( Q: v; m目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:/ A$ j3 o" ^4 j- O$ f7 s
http://www.dedecms.com/products/dedecms/+ I# f' T: H2 P& p( ~& ]
" t- R+ t& j7 o. O- Y( [
临时修复:   w7 g8 O& o- O8 }' j
1)Include/payment/alipay.php8 x; [2 T# H1 M2 V0 b" s" i
  大概133行左右
2 h- y4 j* W! S) v1 l  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
% R0 X0 Y+ S4 G  h2 [$ E替换
5 R) X0 E$ q5 H4 b require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';: ~' T0 t; w# d4 h
2) Include/payment/yeepay.php
; ?9 z# i. D% Z- F. z( p( d  w大概在145行左右
' }9 b+ j5 Q: _7 j# }% c require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';
2 W7 g/ A/ }* F' U! S. s6 C 替换) A' m; |4 A& @! y
require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';
6 R5 W8 ]! f! S5 N4 m2 k" @! T
1 [, @: u, r0 R+ D! ?& [5 b0 o
回复

使用道具 举报

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

本版积分规则

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