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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:
0 i' ~$ t( J" |: y3 N4 U% [$ ]% ?DedeCms 5.x漏洞描述:
( }& j. i' ?9 n& I  a; f8 \DedeCms是免费的PHP网站内容管理系统。2 d: Y( i( b1 @, M5 f8 `
9 ?9 _$ M! ~, j
plus/carbuyaction.php里没有对变量进行严格的过滤
) A- G$ D1 S; f' j, K1 Q% J  {; T) L4 q" d
出现漏洞的两个文件为:
2 a* w1 b0 I7 s  v$ ?- @$ N( z7 @+ _Include/payment/alipay.php
, v( V' e' L; I4 v8 DInclude/payment/yeepay.php0 y- d' F4 N0 L$ _; O! l
漏洞均出现在respond方法里
3 B6 k2 w* `" p$ E: P! O+ P2 @5 K! x" W1 j7 U1 |
Include/payment/alipay.php
8 O$ _+ R& l& p......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......
, t# X5 K' o$ T  l                       
& ^  I$ V; A8 ^5 M& h/ d0 x大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。* S7 i: I: b0 C, ~9 K7 I( c( D6 Q
Include/payment/yeepay.php
6 a4 C. ^4 [) u1 ?! n7 K6 S6 l5 i9 C# r. H......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......
' T& F5 O, l& C  @; ]4 b6 [                        / `) U* U! e: `  y8 l5 J' ?. G
大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考+ A- F+ n0 v' t* [
http://bugscan.net/manage/node/83* J6 ^8 Z9 r+ e2 Z1 G: [2 Y
http://www.cnseay.com/2515/# i2 B% }# ^- T2 P. U/ U: u
*>
* ]# s8 `8 e2 N测试方法:
' N7 N; o5 A7 d3 I  i5 a- m8 p! `- Z. Z1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie - ]3 `  T5 p! _
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径3 S) T* U1 ]' e
修复方法:5 B2 N+ p8 Z6 i+ M( C
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:9 P1 h2 y/ m; K* f
http://www.dedecms.com/products/dedecms/" m% V! n, U% k* u' ?
8 _  p, J% i, b+ F# y! {/ c
临时修复: 3 `3 U+ v+ h# s" M- v6 H
1)Include/payment/alipay.php
. M/ p5 o7 Q  u( W  |: w" s6 B  大概133行左右, x! |* D" g4 `
  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
3 N9 T3 x* g/ ]4 q1 n* |/ Z9 Y0 R替换
% v! }& b' c6 m$ [8 S require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';0 ~6 |- Y8 c  r$ {
2) Include/payment/yeepay.php
: T! y1 c. q/ E! `$ L大概在145行左右
# v0 F$ @4 n% s, W$ G% k2 z require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';# f5 q7 }, r7 Z* A7 _! V
替换
# P8 A/ a1 F2 l- G+ p require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';: r5 {/ W% U" A. K: r
8 B2 m& \6 M8 f; s/ j- Q
回复

使用道具 举报

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

本版积分规则

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