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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:9 O" e) K3 A7 y8 Z" _
DedeCms 5.x漏洞描述:
& W8 E  t# E  H3 i" V+ HDedeCms是免费的PHP网站内容管理系统。. E0 b8 [( e! w4 P5 N
& ]3 r& N6 E, |; A9 w
plus/carbuyaction.php里没有对变量进行严格的过滤
' `4 Y/ H4 Y4 @9 T2 p& X( u. \) d7 Q
出现漏洞的两个文件为:$ C! q. J* e2 s
Include/payment/alipay.php' }3 _9 L% `: F& }, M
Include/payment/yeepay.php
/ M% L+ H* E0 k( k- [* B$ J8 x漏洞均出现在respond方法里$ o+ ~% M* V7 r; g5 L# K
4 d; y  w% M0 ^; q
Include/payment/alipay.php
2 G7 x, y. w: }......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......
/ o2 e1 G. o9 O                       
" F$ J" G5 E/ u) p7 j6 Z大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。0 X# e# Z' d- V/ g- h& }
Include/payment/yeepay.php! P" u2 L$ {4 v3 t; |9 h
......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......0 I. ~! q& q% y  r
                       
, L# m" j0 R8 a6 z大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考
& y% h6 Q9 F/ G- {  G+ jhttp://bugscan.net/manage/node/830 h/ Z& e) r' u
http://www.cnseay.com/2515/
6 z6 H4 B( \, G$ X, g* p*>9 R2 a( R& l8 c0 _  a& c) {9 O
测试方法:0 k1 y5 z" f, }: [0 S" z/ W& s6 G6 w
1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie
6 s+ N1 K9 M: Z* E2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径
0 q" i/ E/ @( T4 ~修复方法:1 K6 G5 f: P5 H* l( b5 o& C! Y
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:3 A3 `: [/ |. `  N' f0 g
http://www.dedecms.com/products/dedecms/
' Y1 ?: X. ~& m
2 S4 x" o- o. Z. J" \9 d0 T" ? 临时修复: ' w. f( M% ~& K: G. Y7 o
1)Include/payment/alipay.php
2 O8 }/ i* |: f0 A; m% q  大概133行左右% B% L& j" x* v9 {0 b  }
  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';/ P, T9 G3 F& f' S  P
替换
- j; R* v8 [0 A. y require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';! Y0 J! g( j$ [+ d' M1 c
2) Include/payment/yeepay.php. Q/ I1 X" R* ]) ~; \
大概在145行左右5 W4 t- M/ G* S" P- E  |4 v- T* R2 q: B
require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';
5 d5 i7 i# N. g5 f9 \0 t1 v1 x 替换
( |# Z, x1 f# ]5 P7 V$ j; I require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';2 Z5 u9 B, _8 {! o- e' \
7 {' ^- P& H- Y' q2 s
回复

使用道具 举报

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

本版积分规则

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