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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:' {* p. T$ R$ K
DedeCms 5.x漏洞描述:; @! \) C5 u$ e5 ?4 k# l, m
DedeCms是免费的PHP网站内容管理系统。6 Z9 `& |, N% m9 Q. j) {0 j- @0 [
6 d3 s% j; z- Z* F! o* D
plus/carbuyaction.php里没有对变量进行严格的过滤, S6 I" d: \/ o. Y- l
" J$ u! U9 W: e
出现漏洞的两个文件为:
! L/ I; q3 r. ~& m% AInclude/payment/alipay.php% [* \' `5 o* w2 `7 F: d5 n, E
Include/payment/yeepay.php- [& K: F0 b* }' \: k& S! ?
漏洞均出现在respond方法里
' T- A6 X) G2 S* R- ^
# a: j' i0 r* Z5 J4 uInclude/payment/alipay.php   Q! l7 J, Q( e% K8 \- f
......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......
: U0 O7 e/ {) U) i5 D1 ^5 _                       
" p, V& g# ]8 N/ H6 y大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。$ N. d  n  n" O  w! a9 z+ R
Include/payment/yeepay.php% I% e: G# m* v: h( E2 _
......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......  i8 F; ^2 t% R9 ^1 x: Z- I
                        % L: t- b8 U# R$ m% z
大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考! t3 Y, ^8 G9 p' G# E5 u8 D
http://bugscan.net/manage/node/83, F! ?0 m6 o& u: c3 u% i
http://www.cnseay.com/2515/
. m5 B) s, c" `* b3 b* X*>
# q- \  B- e0 Y% P3 v# I' Z& E& s* {测试方法:6 `; T! q! M: N) I6 Q
1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie 2 }' W: J5 i" _# p0 K# c- l+ h: L# i
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径
* _% T. h4 x8 h, `, O8 G% _8 Q修复方法:, L+ [6 M! ^8 X# D( t
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
, d! e- c5 K7 g2 x  Lhttp://www.dedecms.com/products/dedecms/
% L4 m3 ?5 K8 @2 \2 M
8 Z# i: r1 q6 V; I, A4 E! G0 G 临时修复: . ]1 K$ F7 z+ N  l- n
1)Include/payment/alipay.php& t7 m: |' W/ b8 p( A& }4 G- O0 g, Z
  大概133行左右) d' L& e; Y) t
  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
! d- p, v$ B4 r( E% O  C$ Y4 `替换/ P5 `, U6 M; W' G. k, a5 X: B9 T
require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';
! O! R- H5 C$ D' h) W  t2) Include/payment/yeepay.php4 Y, T7 Q! {( M5 T4 Q! ^) ]
大概在145行左右
8 r# i9 \( O! S: d require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';4 R3 N# q9 q( S# @" T/ f
替换" P, h  J* g! f% s  R& C0 s
require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';* e4 ~) z, m" U' R7 Y
/ a+ u3 h; t3 I2 F9 i
回复

使用道具 举报

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

本版积分规则

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