当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0135450

漏洞标题:windows版网站安全狗上传拦截bypass

相关厂商:安全狗

漏洞作者: JoyChou

提交时间:2015-08-20 08:24

修复时间:2015-08-20 09:23

公开时间:2015-08-20 09:23

漏洞类型:设计缺陷/逻辑错误

危害等级:中

自评Rank:7

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-08-20: 细节已通知厂商并且等待厂商处理中
2015-08-20: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

网站安全狗在win上的上传拦截绕过

详细说明:

上传代码:

<?php
if(isset($_POST['submit'])){
$upfile = $_FILES['file']['name'];
$tempfile = $_FILES['file']['tmp_name'];
$ext = trim(get_extension($upfile));
//var_dump($ext);
if(in_array($ext,array('php','php3','php5','asp','asa','cer','cdx','aspx','htaccess'))){
die('Warning ! File type error..');
}
$savefile = $upfile;
if(move_uploaded_file($tempfile,$savefile)){
die('Success upload. FileName: '.$savefile);
}else{
die('Upload failed..');
}
}
function get_extension($file){
return strtolower(substr($file, strrpos($file, '.')+1));
}
?>
<html>
<body>
<form method="post" action="#" enctype="multipart/form-data">
<input type="file" name="file" value=""/>
<input type="submit" name="submit" value="upload"/>
</form>
</body>
</html>


当上传的文件扩展名中包含一些特殊字符的时候(比如bypass.phpX,这里的X代表空格%20或其他特殊字符{%80-%99}),安全狗截取文件扩展名为phpX,并判断为合法文件,故上传成功。
但是利用windows的文件名特性,存在的文件名为bypass.php,并且可以解析。

漏洞证明:

提交一个bypass.phpX,X的hex为\x90

4.jpg


5.jpg

修复方案:

过滤含有特殊字符的扩展名

版权声明:转载请注明来源 JoyChou@乌云


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2015-08-20 09:23

厂商回复:

不知道提交者测试的是什么版本,这边测试完根本不存在这个问题。在较早之前的一次,也是因为取不到完整的文件名而导致绕过,之后改了方法,开发说能防住了!
欢迎各位打脸,就文件名这块。
另外,如果有什么疑问,欢迎私信,乐意交流。

漏洞Rank:10 (WooYun评价)

最新状态:

暂无