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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:
* F/ V8 {' y* ZDedeCms 5.x漏洞描述:
( m) w& |9 k& A  [" d2 pDedeCms是免费的PHP网站内容管理系统。4 U2 N8 }7 S. f/ ~& p
9 u% X2 b0 v! g
plus/carbuyaction.php里没有对变量进行严格的过滤- D: ~2 M' I% {1 {# W+ `1 P; m

+ U( p" Q% m' k/ }2 M出现漏洞的两个文件为:2 |& X( t$ c/ O; i, z( d
Include/payment/alipay.php9 ^& z0 E' d) J9 j2 I
Include/payment/yeepay.php2 f0 b. b) `; ~
漏洞均出现在respond方法里; y" E5 R% A3 }+ E  w6 t: K; m

3 B' L, }! g3 Q* @Include/payment/alipay.php
' Z& U. d* O5 N# n3 |9 |3 E......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......& B9 y% `0 B. X. Q$ U9 h
                       
( ?6 {2 X7 |' Q大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。$ I/ {8 o$ x8 y2 W
Include/payment/yeepay.php
$ A8 z! v& @' b4 @/ C& s. q$ R......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......& }4 Q; m  g/ T, ~! r
                        " H+ `; S+ |! {0 }% @( Y! [
大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考) h8 s! `3 x0 K. u/ @! I
http://bugscan.net/manage/node/83$ c9 k; M- b5 K- {& @# w
http://www.cnseay.com/2515/, m; N* ~3 k- p0 l1 G
*>
5 F+ M+ z8 v( {; N1 G, D测试方法:/ N, e. c  N. u3 F$ e* W7 X
1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie 0 ~# K" J* \0 r; `$ z& K! Y( M7 y3 s; b
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径: W- P9 `7 A' f% ~/ u# y# l1 {
修复方法:+ _: _6 W6 I  L3 [4 n* Z; `+ k: N
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:; `, k6 c- n  a" m# L5 J' u
http://www.dedecms.com/products/dedecms/- W2 C& r* Y6 @. r2 l$ Y' u
& T) l  b/ C+ B2 [
临时修复:
) T( C" n- Y; ]1)Include/payment/alipay.php
3 g: V$ B$ `/ z  大概133行左右9 w, }/ u2 Y  u, b- I
  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
) U' N* \& S+ U5 ^# `8 _替换
) K$ x5 }2 c6 H7 M/ c require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';
; o0 b  T/ ~) E2 \2) Include/payment/yeepay.php# \: @; c( H$ T+ j/ c: z+ {( d
大概在145行左右  y/ g: Y1 [7 F$ u
require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';8 R2 o% Q& R. r6 {6 C
替换
, I, q) g, B8 B# q require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';8 Q: G: k- o9 z* h2 _

( D3 h4 h5 D6 A, f% ?: `
回复

使用道具 举报

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

本版积分规则

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