找回密码
 立即注册
查看: 2465|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
漏洞版本:
$ r- V4 [& ^% @! s$ F& c3 tDedeCms 5.x漏洞描述:
- @; ~' {! K9 ~, j, G1 i; ODedeCms是免费的PHP网站内容管理系统。) B, ]4 b5 X% |: v, S) `" Q9 b  f% |. u
- z! J5 V$ b: {! t0 c! d
plus/carbuyaction.php里没有对变量进行严格的过滤6 `9 h, F& g# O# X
/ {9 ]- l# G; {
出现漏洞的两个文件为:! J. b. _+ P/ A" B% S" I
Include/payment/alipay.php
2 c# E( Q! V7 T. {8 ~4 w# ^Include/payment/yeepay.php/ v! {8 F' [& c
漏洞均出现在respond方法里+ ^% _3 B3 e) H' i' P" Q

9 Z+ U- W, R, S4 }9 XInclude/payment/alipay.php
+ W$ j- h6 |: m......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';....... ^1 C" t; ]$ c5 y+ W9 w
                        - N" J: l" [2 Q3 \7 X: `) h2 x
大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。
7 D$ h* t, h0 D- KInclude/payment/yeepay.php
7 t7 e$ a  j7 p0 c/ y* g4 E+ N" _! g......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......: ~2 c4 V/ ?& v. H  F
                       
1 r- [! |+ Z. c3 Y6 L: d/ r  B" l* e, g大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考9 ^% d! F8 ?3 h( }! X$ X% [0 j
http://bugscan.net/manage/node/836 J6 @. V$ i6 K9 K
http://www.cnseay.com/2515/8 f1 g) k: q# i7 ]  A
*>/ ^7 N4 M1 R4 h4 e& |0 {$ f
测试方法:, J. ?% C0 d; C) {$ z
1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie # Y2 J" a/ c! O- f
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径# \" w/ O* f% ^% _% y$ X% t5 a
修复方法:
& o7 @0 U5 j- L1 a% @. d% R' u目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
! Z. v  |5 l- X8 {http://www.dedecms.com/products/dedecms/
: @  V- R# c9 ?" ]% g7 z
4 g0 P7 e# v9 k* o4 V, ~8 J- |  g 临时修复:   J; }+ f/ i4 |' O/ I
1)Include/payment/alipay.php
( R5 [. V' E9 @8 s. T1 u/ y  大概133行左右
  N: ]1 z# r$ p% H) ^( F* ~  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
3 D" M$ H' s# m3 }替换
; f1 M" A# L3 Q* c require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';
; N0 ?9 H, u. h7 F7 h! p* C2) Include/payment/yeepay.php
0 _  z6 `' U) ^2 [7 F4 s* e, |大概在145行左右0 c, }: s% f( Q' ?% |2 d
require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';( _9 b2 w' ^" p4 [0 {% _, q
替换% f0 x0 g2 [  Z+ P
require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';& M& v, H! v' M
6 S: L: B& ], W- a; P. n
回复

使用道具 举报

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

本版积分规则

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