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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:% x1 s2 k7 e0 N8 {
DedeCms 5.x漏洞描述:- v6 t+ m0 I/ h% f/ S" ^
DedeCms是免费的PHP网站内容管理系统。
; N* S. ?7 E2 f7 l6 g' [! m9 o9 Y6 N5 j3 l+ |
plus/carbuyaction.php里没有对变量进行严格的过滤/ R+ b  f4 L! e; a. ]6 J# N, \) B

4 ?% o$ L. N/ e- {# ^: S出现漏洞的两个文件为:
9 i7 s* |4 |- a6 Z( T/ \; k. pInclude/payment/alipay.php0 I, }& G5 G- n: D) e
Include/payment/yeepay.php6 L" T, c9 Q4 x& S, X. j; D2 y
漏洞均出现在respond方法里
8 U" J. J% T9 y$ h4 M5 A* h, ~7 d, w7 Z! h3 J5 o4 X  l
Include/payment/alipay.php ; V% l+ {$ a2 N2 Z& N; U
......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......
" U& B" g8 [" J+ D; j2 }) e                        ) {$ n! K6 C. \6 k5 |& ~
大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。( E' N, w% R9 g/ M+ S/ J6 B6 e
Include/payment/yeepay.php* ~* V! N' M8 M& A3 o
......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......
8 ?/ [- N; h) ]' x7 J) k# ^; ?                        5 U! o/ G, Z& p. ^& z# V
大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考  ~# o, N0 v" ?& }
http://bugscan.net/manage/node/83
1 ~8 S7 ]/ m# |8 p. ehttp://www.cnseay.com/2515/% }7 }) ^4 U. l( Y  \
*>( y: [8 L8 H- Z: F$ T. q3 e
测试方法:+ ?$ w9 X( Z  W  r. t! v  X
1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie 5 h+ N4 I5 |4 `8 m7 t
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径! B( H' k9 l( l5 k8 p
修复方法:: T) g: P7 D# i+ o1 h; N
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
. R# D5 q# W4 W! S* P+ Phttp://www.dedecms.com/products/dedecms/( U2 B- Z  d% Z5 e2 Z3 X* C" H$ F9 i
7 h6 p$ t. z) V5 N# T
临时修复:
6 y5 `+ h! c6 |1)Include/payment/alipay.php
4 a) U$ g" H4 Y! Y  大概133行左右3 v1 i# W9 s1 l7 b! r7 X
  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
# k6 }4 D5 l( i) Q5 v% t  ?7 n# q替换8 \4 s1 @6 o" n9 C+ g( X
require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';! u8 J$ U1 Q! H" F- j( w( A: R
2) Include/payment/yeepay.php
4 N7 Y+ s) K$ \& D$ C0 I大概在145行左右, `8 E+ K1 `4 O2 `
require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';
$ i9 a/ U$ s. [+ z$ h 替换
2 l+ J. _- p( [# Q$ b* g require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';
! ~8 d4 h- t$ `6 [0 L- W1 c " Q  K) H; K$ e0 f1 z
回复

使用道具 举报

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

本版积分规则

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