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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:
+ s& q9 K  }4 x) C. ]7 HDedeCms 5.x漏洞描述:
+ C! M6 Z9 M" t% k% GDedeCms是免费的PHP网站内容管理系统。
) o* W7 h: U% g2 X1 {" x
% Z8 r% P4 F( Q( F' L- Y" iplus/carbuyaction.php里没有对变量进行严格的过滤
. _7 ^0 S; u$ _  t$ `
6 k0 l' H8 j# `, v* H& k出现漏洞的两个文件为:6 k/ @+ F/ m. y$ T7 ?1 l
Include/payment/alipay.php
9 X& V3 Y' P( oInclude/payment/yeepay.php
) D& w; i5 n4 M0 B7 D: A: ~( K漏洞均出现在respond方法里* r! Q- Q8 s( o$ |8 q$ T  k8 Z
5 [4 g/ g3 y4 l4 q  K: S
Include/payment/alipay.php   m$ U- w* J9 I- k5 k
......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......) H0 _+ t4 P3 C& A+ m. U3 f
                       
- A* ~8 B8 }- n  U$ w. A  @5 s大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。( R; R5 _& i8 y
Include/payment/yeepay.php  V% v- R  @7 I0 V: u2 G
......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......& R/ i3 k- R4 X- \
                       
) \  }( k  i* o5 ^. L; {7 T) d( D大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考
  P4 H0 X# n) E. whttp://bugscan.net/manage/node/83
1 M) W5 b: d+ i2 k  _/ \http://www.cnseay.com/2515/
/ D  _" _+ ^5 t) p/ O*>  d+ Y% k; v( }; l. z" v
测试方法:* h% b" Y; l  o7 R% s1 E) K
1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie ( l6 ^1 p6 @0 y; V3 l# q5 B- v# t: M
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径
. F" c3 Q0 B& Q% v2 j4 s修复方法:
" x# `7 n, w$ ?$ r$ [! G" h" x目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
2 w% l  C; a3 a8 q3 j2 z; Nhttp://www.dedecms.com/products/dedecms/
9 a9 N) }  B; I/ V8 g# }! [+ \, l2 \5 v# ?9 X; f
临时修复:
5 P( X0 ~  u* U0 w4 y. _  I6 Q1)Include/payment/alipay.php
7 M1 ^  w; b; J& m3 K$ k) Q" t  大概133行左右
2 f" M) c9 e- B2 @& e  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
5 x1 g/ O* z7 V( o5 {" e替换
5 j; l& J: ~, O0 W$ m5 c require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';$ m2 n" P  I3 \3 {# X* u
2) Include/payment/yeepay.php
$ s8 }5 o5 ?5 Q大概在145行左右
" U! b$ s. C8 `/ R. n require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';
% D# O7 E' A% P 替换
, f1 C( a/ C& M require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';- ]) Y9 B$ U: M

# K( Y, K$ h2 s' s8 X1 W
回复

使用道具 举报

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

本版积分规则

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