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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
漏洞版本:
( c- E, _* [' H0 S7 H- r  CDedeCms 5.x漏洞描述:- h" [  E) [9 r
DedeCms是免费的PHP网站内容管理系统。
' h; `8 L/ A7 h. J. ^& T! U. W6 B! x, o
0 I: ?' V8 q$ _! `' l8 n, bplus/carbuyaction.php里没有对变量进行严格的过滤
5 T0 j2 p! U: J7 v8 F' L/ G. T2 H0 }
出现漏洞的两个文件为:" f4 @6 ~7 d" J
Include/payment/alipay.php6 M/ C' o4 c0 \2 d4 ]) H
Include/payment/yeepay.php
' }& s9 k! b, V+ W漏洞均出现在respond方法里, X" `' Y+ L+ g$ }, ?4 D
- [! l+ |$ `! ]9 e6 P+ U- \
Include/payment/alipay.php 0 T3 G. H/ e: ~- b" `! K
......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......
6 O0 L# n1 V. I  r9 [% V1 L) w                       
0 s0 ~2 L8 S- e! I8 [; w, ^大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。0 v- E8 Q0 I0 H
Include/payment/yeepay.php
9 b" _3 m8 h" E......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......# p  B5 r$ O- j* g2 f8 h% D
                        9 I& C, Q9 m2 y) S
大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考/ f8 G& m- F5 S4 W' l4 |3 T
http://bugscan.net/manage/node/83
: ?6 J6 T( d. R( e; Ehttp://www.cnseay.com/2515/
% f8 d! Z* {8 P- f*>, }5 g/ `. ]6 Q
测试方法:
, M% H; |! H! u/ g. e5 g1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie
: K3 ?; a" q/ x2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径
, p6 p2 q6 D+ L" j$ ^1 ?; ^$ b修复方法:6 V) H, E1 O6 p% N8 d' ^1 o2 W! ]
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
4 `( G: E8 W2 ]9 i. U9 Mhttp://www.dedecms.com/products/dedecms/5 j+ o' _8 W0 {) d2 n9 e) x

) g2 I4 e( p0 o4 Y. P 临时修复: % K( q8 N5 L  A4 d5 l1 M0 Y
1)Include/payment/alipay.php
, {2 |4 K/ n2 T( ^5 S( h  大概133行左右0 X; r* \% D. ^/ z" U1 ?0 ~6 A
  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';& w! ?4 d: j# d' T6 s. {
替换
- n# [4 y' Q+ {' D require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';5 s4 ]! V! t# h7 l. w8 K7 ~
2) Include/payment/yeepay.php9 {+ S7 e: s) |8 J% w
大概在145行左右
' `# N  Y( B& S% T$ C- i! H/ E; e1 Z require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';
* b6 E) |7 D9 B) D 替换% D* }% a: T! W+ {7 v7 ]
require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';+ ]* b! |0 _  [2 G7 ~

. v# y9 l1 g4 k; J
回复

使用道具 举报

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

本版积分规则

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