安全中国首页 > 文章中心 > Phpwind文章
 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:www.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 

Phpwind6的一个url转跳Bug发现

更新时间:2007-9-28 9:03:43
责任编辑:流火
热 点:

Pw6的一个url转跳[BUG?]

\hack.php的Codz:
require_once('global.php');
$H_name = GetGP('H_name'); //相当于 Phpwind6的一个url转跳Bug发现_安全中国_中国最大网络安全门户
 
 
安全中国首页 > 文章中心 > Phpwind文章
 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:www.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 

Phpwind6的一个url转跳Bug发现

更新时间:2007-9-28 9:03:43
责任编辑:流火
热 点:
$Content$
 
相关文章
一日一文章
 
一日一软件
一日一动画
 
GET[H_name]
if(ereg("^http",$H_name)!==false){
ObHeader("$H_name"); //如果是http就通过ObHeader转跳
} elseif(!$db_hackdb[$H_name] || !is_dir(R_P."hack/$H_name") || !file_exists(R_P."hack/$H_name/index.php")){
//如果可以过上面这个判断就可以用下面的define定义H_P了,可惜!$db_hackdb[$H_name]这个过不去 :(
Showmsg("hack_error");
}
define('H_P',R_P."hack/$H_name/");

我们看看ObHeader()在global.php里:
function ObHeader($URL){
global $db_obstart,$db_bbsurl,$db_htmifopen;
if($db_htmifopen && strtolower(substr($URL,0,4))!='http'){
$URL="$db_bbsurl/$URL";
}
ob_end_clean();
if($db_obstart){//可惜phpwind不让全局变量了[见我上个blog],要不就可以进header()

header("Location: $URL");exit;
} else{
ob_start();
echo "<meta http-equiv='refresh' content='0;url=$URL'>";exit;//这里访问了我们的url
}
}

POC:
http://www.phpwind.net/hack.php?H_name=http://www.google.com

 
相关文章
一日一文章
 
一日一软件
一日一动画