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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:- x0 m, r3 F  b
DedeCms 5.x漏洞描述:
  M- }+ J* w0 {) U" ]DedeCms是免费的PHP网站内容管理系统。
8 D4 {8 Q! i, @3 b: V) L! h1 M+ a2 }1 O
plus/carbuyaction.php里没有对变量进行严格的过滤% l8 h! F/ I7 b, r+ E; u

3 R/ V& g( v0 `1 ]( Y$ d1 J: L! V出现漏洞的两个文件为:
8 c# \* }  J) |: s! Y# GInclude/payment/alipay.php9 N3 v7 Z& z5 P# j8 y; g& U' a
Include/payment/yeepay.php. N2 t0 w& \& a% }2 w8 x! H, B7 ]+ `
漏洞均出现在respond方法里
! Y9 t# s, v) d2 ?7 Q' U5 c% ~1 e0 a: A3 }3 S( o9 b
Include/payment/alipay.php
& C4 ?3 o# ]. I3 m" I0 f. ^......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......  \% p9 h; I* Z; I. D! u6 D
                        8 M8 Z- C' _  {/ _( b" S) H
大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。
) ?: u1 {% v7 H( i) ~+ H: h+ AInclude/payment/yeepay.php
4 f; o7 c! B0 x+ a/ f, A# j8 F6 G) W......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......- ^- w* e4 {; Z$ l
                        7 K1 N1 a+ p0 i* Z0 l
大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考; `$ O9 e: ~7 w' v
http://bugscan.net/manage/node/832 O! G( Z. [# O
http://www.cnseay.com/2515/
" `* M# J# {9 ]$ `0 J*>( |* U8 h$ i# \0 J' n2 a. f$ l
测试方法:
8 t* t: B& y3 I. I4 @" _1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie
; _" Z6 R3 r( I( T4 r/ p2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径9 {" m) B9 l0 d. X, X; D
修复方法:
) r+ f/ e* F: F/ Y' x目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:* h0 s3 ~: [8 n4 X0 |0 j
http://www.dedecms.com/products/dedecms/. a9 i9 d) i5 x7 f1 C, \4 U

6 D7 [& Y. b/ S+ Q0 U 临时修复:
2 m# }) U9 Z/ i' }- ~, i+ X1)Include/payment/alipay.php
( e0 l' a/ X1 X9 l" s5 A/ E0 g  f  大概133行左右
( P0 \, `8 U& R: z3 m  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';% S8 R9 e) m% S
替换
3 y" T8 H' d: P require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';( L' D; M( C4 w& [. }, X
2) Include/payment/yeepay.php7 G, V0 l* r- ]% J+ T9 X0 ~( x* [
大概在145行左右
- L' U- a3 B2 v5 f( X require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';
( A2 w! M! g  ~( U/ h/ B2 y0 e 替换" U4 Q# b" n7 {6 _5 w
require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';! {- O4 y9 d! g* q8 J1 Z- ]- w
7 H1 }: J# @6 k8 g8 \: y
回复

使用道具 举报

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

本版积分规则

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