中国网络渗透测试联盟

标题: 织梦(Dedecms)V5.X 本地文件包含漏洞 [打印本页]

作者: admin    时间: 2013-4-4 17:36
标题: 织梦(Dedecms)V5.X 本地文件包含漏洞
漏洞版本:" _. F) K9 u" X# [1 k$ r0 V2 ^
DedeCms 5.x漏洞描述:0 S% }* I% a- Z; p; H! j3 u! H
DedeCms是免费的PHP网站内容管理系统。2 S$ c& _# k; a
2 m1 p% V# M# T" b/ m  ^+ u
plus/carbuyaction.php里没有对变量进行严格的过滤7 o1 E% u2 v) ]
% ~0 ]; \8 T+ H9 x
出现漏洞的两个文件为:. ~( C1 q% K# x& z
Include/payment/alipay.php
# h6 j- ^2 i; S2 t9 pInclude/payment/yeepay.php5 h; u$ P  J$ g) y% l5 S! f
漏洞均出现在respond方法里, Z. N0 [, k( c4 Z" Z0 L
9 O% G# v. y  i/ F6 T2 m% x
Include/payment/alipay.php
# G  t, [' i: y1 h. s......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......
5 [! D- k  h: r                       
3 B1 T4 X! G3 f) ?+ o5 R6 p大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。( h9 o' [( Z; ~) f3 x5 M3 V' p
Include/payment/yeepay.php
" m& l/ A* Q! T......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......
/ g8 [: p2 Z. `# M) ^! d+ ~8 X6 n3 E                       
3 t3 {$ E- X) b大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考* r! x+ B( ^- r- v
http://bugscan.net/manage/node/83. A4 E' l8 r$ ]7 [+ E* M3 H
http://www.cnseay.com/2515/
' D" Q" V2 `" i; l' s" P4 y*>
' ^1 `. A- w4 U6 E2 p: ~1 G测试方法:
% [* w( @5 g( L1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie & Z1 s" K: [# K* e: K
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径& m! g/ T# S) ?# O% R3 k
修复方法:* c  k2 {+ p# Q
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
; b& @7 _4 M& k6 shttp://www.dedecms.com/products/dedecms/
3 v( R7 n2 P( u4 h8 Z3 n* A8 A+ `- |5 v2 f' \
临时修复:
& D7 K* N5 F" z3 n1)Include/payment/alipay.php" k- U- q0 d6 }7 b( @  _( P3 D. Q
  大概133行左右
2 ]* B. }) B7 p% |7 B% m5 G  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
3 S/ z$ Z% T9 C- Z: V替换
" N) f. u1 f7 k2 s, k, r require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';# B# D0 j9 f1 E" x( k0 P( T3 L
2) Include/payment/yeepay.php
9 S6 Q, f1 l" i, Z0 o; m$ @1 w! h大概在145行左右
2 E* b" L) }& H require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';
) r  z( A6 C. W& j 替换
! m" V' s. p, F4 k; }, i# T require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';1 v0 x8 n5 ?0 I/ N

" h* o% D( z/ ^6 O




欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/) Powered by Discuz! X3.2