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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:
5 [2 e# O4 L) t0 `: g, wDedeCms 5.x漏洞描述:6 F) Z) k) W8 v
DedeCms是免费的PHP网站内容管理系统。! l' B7 i, ~7 s. M5 ]4 u/ {
: }2 c2 D1 ^1 d5 f9 H: Z9 S# f
plus/carbuyaction.php里没有对变量进行严格的过滤( g5 L/ k0 p+ ?: c
: ^/ z$ Q0 S5 e7 p
出现漏洞的两个文件为:
6 f6 ]. I/ _7 r0 |* ~Include/payment/alipay.php
/ `. M& \# s) o2 X' p0 NInclude/payment/yeepay.php
; i, n% B4 \5 ]) }* }' n0 p% k漏洞均出现在respond方法里
- d7 \+ I1 T3 @0 G
# f  V9 @7 n6 D8 P4 l' zInclude/payment/alipay.php 0 c: l2 ?) Q8 o8 |
......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......% d" M" G* F2 J" O
                        0 c+ c6 d% b, Z
大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。4 U' a0 c+ A* I3 k  @
Include/payment/yeepay.php
# p& h: n( s5 R  _' d) c......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......
" _6 v2 I# v8 n  Z7 D: `! o                        7 G7 Y. t1 Z! W9 M% I
大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考. Q9 ]( b- u% c$ v! t
http://bugscan.net/manage/node/835 Z: Q0 S) p/ S# `" w
http://www.cnseay.com/2515/7 V) u0 e' X5 R) Y8 [+ c- w" z* v  B( V
*>" \) P# d: \. f
测试方法:3 A' r, V) C# P& F0 o+ ^
1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie 5 K8 B+ Q8 D" @0 B' e7 P1 [! o4 M
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径
( n% ^% G; p, t6 j  f( F( p修复方法:
& W6 j' W* w# b) v1 U# y+ U5 f% p; u目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:) A4 `& W2 T6 Z: C: v3 h+ }7 V4 K
http://www.dedecms.com/products/dedecms/
+ J8 P0 X9 `  z; t; t! u6 H$ e- ~  v! ^* [- Q1 }( ~6 K( \% j
临时修复: ' t& K4 A) ]! \1 i7 |
1)Include/payment/alipay.php; x! b) p7 [: A; C* s7 r
  大概133行左右7 r+ v; a) a0 j, f# U% a
  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
* e3 ]: l! |& }# c0 o替换
" C4 Y* {# i, L& z require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';
# o* g" g! H. o/ D2) Include/payment/yeepay.php
( A" V+ D/ J6 a大概在145行左右/ I" P) b' N( r, U  X/ [! [
require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';
$ }) o7 z) _0 S! c 替换6 q  J4 M8 d  V
require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';5 ]* k+ {* v: K& ^! n, R9 t$ N& q

% @4 E/ L  ]1 x  U0 R3 m$ D* |
回复

使用道具 举报

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

本版积分规则

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