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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:
. p$ U2 p; e$ S9 i  gDedeCms 5.x漏洞描述:
5 f, A+ W$ r& R" Q: O  X  C7 \DedeCms是免费的PHP网站内容管理系统。: ^; p5 K1 M! U8 w

) N- ]: M% @: P4 cplus/carbuyaction.php里没有对变量进行严格的过滤4 J5 r1 T* K* j

# x8 t$ Q" p( D6 l7 k出现漏洞的两个文件为:
2 g0 |; u; N6 H3 q$ J1 CInclude/payment/alipay.php
  x- f, i" C; Y7 X- WInclude/payment/yeepay.php
4 G. h) v1 C6 ~& ?: }漏洞均出现在respond方法里) r3 \& f, m! q0 H3 }/ K. s2 L! g. n
+ ?  b8 l, j8 C9 J+ [7 t
Include/payment/alipay.php
9 ^% ^, A; \: B3 R& ^& U5 P( P......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......
8 X$ Z) [9 U3 W0 S$ y/ J9 x( Q                       
/ |) m& h1 g8 `. a& Q大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。
; {  A) H. Z8 E& b" b: IInclude/payment/yeepay.php
" x& X. g" `/ |' s7 `; {......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......
, m: l+ q3 }- f. Z# P  R. a- ~                       
/ v; ]- i  Y0 X/ J9 X. f) K. ]大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考; ~: j7 t- l: n- d
http://bugscan.net/manage/node/835 d) e; ~8 z2 O$ `) O$ y$ S
http://www.cnseay.com/2515/
! H8 J" u# [/ H2 [5 g; V% d*>
9 `( w* V. l  d1 F5 _测试方法:& Q0 I6 D; v  I$ H
1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie ' K' x7 a! q- {: X! `; P
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径( i6 [$ ?, ^& K1 N, }# A1 `
修复方法:6 t! ?( p  ]9 \1 L: C( v
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:& z$ W* W* Z* S( |9 }. ]  |
http://www.dedecms.com/products/dedecms/, X& f! L9 c! P" h* `  A9 O8 g

9 C9 i. @% W/ p- m9 p) I- Z 临时修复:
9 L; S- q& W% L( ?: u6 A% S1)Include/payment/alipay.php
; \. R# Y2 r; [* @3 _) Y  大概133行左右% I) }0 g5 P# F& a0 R, J
  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
  W9 o7 V2 P) _替换
1 c7 {& e9 Q9 L. I require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';/ |3 T, T7 Z  p- l
2) Include/payment/yeepay.php/ V( \( S4 I; B$ @9 r
大概在145行左右5 [8 ^! @- ^, a0 K* D8 ]4 [
require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';9 d1 n8 Z3 g3 L# l  d8 n
替换
9 C1 T& V: @5 R2 t& e require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';- z- P$ a$ E  I) i3 z, O. D3 l
: B9 W- H) d7 ~3 T6 H: e4 z, P
回复

使用道具 举报

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

本版积分规则

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