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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:# d1 [; V; k9 M1 ?5 r: a
DedeCms 5.x漏洞描述:7 e" n) T8 [% ?
DedeCms是免费的PHP网站内容管理系统。& h* n2 g" s2 q8 z4 q
3 f5 k( ^0 p3 Z% {& @
plus/carbuyaction.php里没有对变量进行严格的过滤
2 w3 \) `0 {: a( G  E7 P8 X( j. P* j, K: p8 s6 [
出现漏洞的两个文件为:
  _9 @) a+ B9 ~Include/payment/alipay.php
7 Y- c& R2 K; B# h7 B7 E5 bInclude/payment/yeepay.php
- [. \/ U( a5 R$ O漏洞均出现在respond方法里
0 i, s3 V, m6 u% [
6 y9 u2 k$ z1 ^0 D6 uInclude/payment/alipay.php * m! U* A0 M0 y9 ?2 A4 T
......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......5 Q" C( {3 X: k% w8 f
                       
5 U4 o/ E1 z% ?# F6 J. d( D大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。5 A6 h# T% w& s3 m' ^
Include/payment/yeepay.php
: k! U, U5 T/ }# C- l! ?/ i......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......
: z$ n' \& X8 U                       
! _( d9 ^  R, x/ u大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考
+ G2 H8 y. D% `! z" ^2 Y% N8 uhttp://bugscan.net/manage/node/83( _6 c. `! a9 A5 o3 H% c+ C/ F
http://www.cnseay.com/2515/
+ t& c: G! `* x- c/ G*>5 W9 ^/ M' n5 ]! E7 g- I8 z3 t- J* g
测试方法:
1 b% k$ i0 x" n1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie $ M# X  {: P2 @4 J& O
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径0 A$ ]  R# u3 |- G
修复方法:
' \/ g. r1 k! k1 J, F$ g目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:* x$ g5 ^  E' [6 K5 |! `) d# l+ K. z
http://www.dedecms.com/products/dedecms/
- Z8 C% r' U' G0 N7 N1 Z* E. i. a5 u
临时修复:
  V3 h/ M4 o+ d1)Include/payment/alipay.php
. W& W* t( Z0 E6 J( ~" }! s* F& b  大概133行左右4 z4 J* W. S/ A( H( D; p
  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
" b4 s9 O0 U8 \$ a( Z替换
' W4 }7 Q# G) N/ `5 c0 o$ s require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';
% ^  L* ~% r  |& E! c2) Include/payment/yeepay.php. Y5 X6 ]- b9 o9 s
大概在145行左右
: b9 g" Z, a1 j" i! Y% Z require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';8 X3 z8 d! Z. G- n
替换
5 Q/ H6 B1 j2 I5 v% a5 G- r% ~ require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';
+ d' _" ~6 \( h
+ ~# A# Q& ?% v! Z$ d
回复

使用道具 举报

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

本版积分规则

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