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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:
6 P& q, ], ?8 S' RDedeCms 5.x漏洞描述:' v5 U9 z7 t! j1 n7 `$ _
DedeCms是免费的PHP网站内容管理系统。
' b' U$ i7 z* G  ^2 p, u# N) C2 J/ K% O5 \3 c6 ]- _3 `
plus/carbuyaction.php里没有对变量进行严格的过滤0 {7 N# Z; x" J7 G) E

6 W, o2 H) l0 ?* U4 Z1 k出现漏洞的两个文件为:2 T8 E0 Z, K3 `" ?4 x9 `1 [
Include/payment/alipay.php
1 l7 N6 ?# l0 Q- JInclude/payment/yeepay.php1 x: c1 y( ~  R$ Q9 N; ]. u
漏洞均出现在respond方法里
' F5 L# y( E# I$ Q+ U1 h0 _  t) i8 k- p% T3 ^9 O
Include/payment/alipay.php 1 ~  q0 k( Y& ~# ~$ K* [" [
......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......
3 r- R  Y2 \  ^! @" D0 G7 ~                        + d0 c6 s6 u, C- b& s/ d$ G' ^5 ~# P
大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。
0 `& |( _6 }" E/ f( Z5 JInclude/payment/yeepay.php
6 P" z( P3 p8 O( _' l- R......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......4 s- ]$ E3 R, }2 y  |3 o: y5 d, ~5 r9 \
                        & _1 r: u2 ~( K& ~, y
大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考
) s1 O6 o- ]- z6 n$ Bhttp://bugscan.net/manage/node/83$ l! ]0 S% U: _9 @8 Q% o$ u& R
http://www.cnseay.com/2515/7 \! _" k& l- ~+ O+ r! R, Z  F% ?
*>- ?) ~/ A+ j6 L4 X1 \. I
测试方法:  o7 {: I) e; v. S
1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie
2 c: P7 P6 r. G( T6 A4 [2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径
* \3 r- X, ~% W, n* w: z修复方法:
4 p0 a' M! l" W7 x0 |6 e8 h9 D8 \3 _目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
6 y' n- Z8 V: z! {. D& Yhttp://www.dedecms.com/products/dedecms/8 W7 f! G& p( u. L. P
( y8 T# B7 h- E
临时修复:
7 n/ r: {0 `2 Y7 ~1)Include/payment/alipay.php
: |9 L3 l$ ]2 D2 M' v9 j6 Y' A  大概133行左右8 k0 ~$ H8 D' r! `5 K0 I! J% y6 n
  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
6 H( s$ s) {7 N替换8 f5 b' E2 w! B/ Z. N. ~6 h  [
require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';/ i3 s- e; y) U4 w6 T* z2 n5 P
2) Include/payment/yeepay.php
) {* c, Z; S- A大概在145行左右
" i& g9 y1 J+ g. M) x% f require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';
- p( n3 P: @: B' o- C( l1 O: O 替换2 H. L+ p0 l. Q8 k8 C
require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';
# ]+ U1 Z7 Y9 h, Y
+ k; {$ i" j2 z2 h6 `0 M# S
回复

使用道具 举报

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

本版积分规则

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