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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:
0 v. r: r  F' r* v, z3 TDedeCms 5.x漏洞描述:
; H' X( H# P6 H) v0 cDedeCms是免费的PHP网站内容管理系统。/ Y2 P; T$ m3 q/ m4 l) c
) s! a1 [6 w) C, L2 Y+ D3 L0 D
plus/carbuyaction.php里没有对变量进行严格的过滤
" y( H+ l. ?) T' |5 k! _! S9 W
5 A7 r0 |) Q/ B! }$ c7 h8 D出现漏洞的两个文件为:4 y  i3 w) x, v$ a% w" T/ @* J
Include/payment/alipay.php
/ t, L* F6 \' }0 }9 @  Q# GInclude/payment/yeepay.php- ^& T& l+ O7 G8 U+ p/ T
漏洞均出现在respond方法里" r# m" [8 R: c/ N( ]$ E9 P0 L

$ F; U2 b6 S3 m$ _Include/payment/alipay.php
1 s4 t5 W3 z" r. g5 g) T......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......
/ ]! r+ i  [& D                       
& `8 b% x. O1 X7 N& r, E- q大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。
) p, z4 E5 ]5 k; Q5 DInclude/payment/yeepay.php& `1 @' e/ p! ?, t4 u/ u# n: K9 a7 t
......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......4 \: ~- w4 N! N+ K; p9 S0 @
                       
# b' y1 u) P' O0 `* H/ e大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考
: Q9 M4 r+ b/ {- u3 }/ _% mhttp://bugscan.net/manage/node/83
; T. U6 A7 P6 m) `. Q# j: C* Mhttp://www.cnseay.com/2515/
. A" v3 r1 z. u  ]& U*>
. v; o3 u" Q" r" v8 J' Z# j测试方法:
8 Z! ^$ M; ?% r) s& k! J- @! d1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie 6 N( E% d" u0 K6 \
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径1 ]; ~3 [8 r: H6 M. j2 |
修复方法:5 R1 p7 Y' M- I& A" J/ \
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:, }# E, @, J/ i3 w9 ]- b2 P+ K/ L5 c
http://www.dedecms.com/products/dedecms/
' a& q# ^' L8 d/ ?7 G3 T% r$ I; v( j+ j9 l  ^7 m6 ?) T+ E
临时修复:
: M2 w' o2 q6 k$ s& d1)Include/payment/alipay.php2 c; r4 u( j( e' h
  大概133行左右. F6 y8 M- H$ {" q
  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';5 Q8 a  O: g+ T
替换
1 q+ C7 g9 x3 z; B! s* i9 B2 r9 @ require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';0 a) R1 U+ H# z  Z# e$ q  J
2) Include/payment/yeepay.php
) U3 E- @- \& Q( N大概在145行左右) V2 R" R0 X. l, Z) W
require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';2 C! D3 k6 f7 D6 z* t
替换" l' m* k' ^* R5 Z
require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';4 _9 G; ~$ C& S# z' {; Q, X
' R$ [. l  L9 w% n- |; A
回复

使用道具 举报

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

本版积分规则

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