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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:  e* v: g% }% V# @6 h- ^
DedeCms 5.x漏洞描述:4 I) X2 r9 H& B: h" w5 d$ r2 x
DedeCms是免费的PHP网站内容管理系统。
/ w8 _; y1 L% y! w% @7 P4 o' b7 g' a0 z1 g
plus/carbuyaction.php里没有对变量进行严格的过滤# |" c9 N% w8 h: L/ Y

4 ?) w9 F5 e1 N/ |( J3 d4 l出现漏洞的两个文件为:& Q" I# E, y  ^: P" y# H, x
Include/payment/alipay.php
( [& ?" Z+ G6 ]! x- tInclude/payment/yeepay.php9 e2 w$ N* l6 E& @6 W! H
漏洞均出现在respond方法里
& o0 Y2 X! T+ f1 x! M
4 P9 v  ]; G5 B6 T- e6 @) Y* y+ aInclude/payment/alipay.php
) Q6 L) \/ N4 X, [9 ?......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......
9 [  b* j; q( g2 w) L& m                       
: D4 u4 s; {0 P+ w* b- }# u! R% i8 q大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。! q9 j0 x! N: E7 D1 p
Include/payment/yeepay.php$ H' q3 b' R, |( u/ P
......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......
2 g, `" G# a) a% i9 W$ ^                       
( e( ]! N* c  b大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考1 n( d. o* a( a, k& V* T& ^
http://bugscan.net/manage/node/833 X( L- C/ b+ Q/ M
http://www.cnseay.com/2515/& R7 B. z8 G4 z) R4 g
*>+ f  i& w  A# i0 J7 }
测试方法:
+ U) F, @. h4 M# b" ~1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie 6 B* m3 X( \8 q$ y" L
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径
" S6 g7 _" E/ t( s# ~# j" \- q) @. ]修复方法:
; s) R0 A1 {: d# m- ]/ w/ f+ X目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
4 a3 Z0 O# ]  A1 Xhttp://www.dedecms.com/products/dedecms/
5 ]# s0 C+ T/ S" H. q' M' v$ x) w8 I, c0 A0 p
临时修复: ' g# F  y* l3 q0 g8 j
1)Include/payment/alipay.php
- w" Y7 v! Q: Y9 H  大概133行左右3 F$ r0 V: \& a  \& M, @8 t1 A* i
  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';- p! y$ s& [# z
替换* X: }" T2 R* ?/ g+ ^
require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';
) q/ [" H* J1 o7 s9 T$ N" E- q2) Include/payment/yeepay.php9 B& |3 K0 w, F- f6 y1 l
大概在145行左右, L6 ~" V! o  S) m& U
require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';2 t* s: C5 S  d8 h/ k: S" a/ b
替换
. a4 U, Q3 b1 g6 c- c) f) a require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';% U* f. |+ S( [, B; ~
6 e) S. g7 X- a/ v! }. G6 z
回复

使用道具 举报

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

本版积分规则

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