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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:8 m# P6 @; L* u& `4 J# c
DedeCms 5.x漏洞描述:' V( h4 R+ r; s' u
DedeCms是免费的PHP网站内容管理系统。% b$ `9 g/ n, A
: Z( t7 L3 B- L9 R! S/ j7 ~
plus/carbuyaction.php里没有对变量进行严格的过滤9 [8 H1 V3 z) G- i7 e6 ]( H

4 P' q1 v5 H3 Q  v出现漏洞的两个文件为:2 Z+ v4 p, J- N
Include/payment/alipay.php
& E* a# A; `1 l( P! g: m" b2 vInclude/payment/yeepay.php  U& ~4 R" Y, C
漏洞均出现在respond方法里
# T* D4 r2 k8 f7 [) Q* ~
) l! f. Q# p) I- R, [Include/payment/alipay.php : @- z2 M) K; Y: _
......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......
8 P$ B9 v& h. w: E' |: Q: {0 s                        4 D4 N2 T- t# @" ]. Y
大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。# a" t9 T" U$ C" a
Include/payment/yeepay.php
2 o  V$ t. \9 e! l& T  L$ F  H  ]......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......: u2 u# ~. G" K1 Z' _/ |
                        5 J2 p! T$ e& r  M& K' B
大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考8 s! t4 D2 `9 s; o) n4 A) F
http://bugscan.net/manage/node/83
3 Q. ?$ H  w! k8 }% M$ Yhttp://www.cnseay.com/2515/
: y6 n) |2 Z3 Z6 V*>. `! U( O. q- O9 E; T
测试方法:
( o: L4 m7 Y- \9 z: K  D/ W- g9 Z; d1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie 7 P) I2 C8 [9 S( _0 y; S
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径
, E9 y# x# L  v, F( C+ o4 |# j修复方法:
5 C& q/ p9 |* ]* N! |目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:8 }" M6 N* A+ b5 V# y$ V
http://www.dedecms.com/products/dedecms/
0 Z, @. J1 ]8 v
( @( `* |* V, i' ]; b8 G; X/ l0 g 临时修复:   G5 b" y7 ]6 ~/ p8 k- G
1)Include/payment/alipay.php$ {4 l9 f8 u8 B/ Q, c% O& j* y
  大概133行左右
; Q2 ]0 x8 `1 n' z- i9 t7 \  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
7 Y+ Q% Z7 @" \; L! E! m1 r' ^替换) Q1 N% K+ N) D2 s# L( |
require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';8 w7 n& M! y8 h& ~% ]# M
2) Include/payment/yeepay.php7 }$ |4 F, j9 y1 \1 K; J7 g
大概在145行左右
/ m& y# J" L* f require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';
, y( Z! ?9 r( [) s+ X) N 替换" p6 m7 c1 o0 [. }
require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';8 F5 N' ~6 T) K% W) g2 P
5 R: A; [* q+ R& C& A2 M* G' T
回复

使用道具 举报

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

本版积分规则

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