该文件上传代码使用白名单机制按道理说是比较安全的,www.xuhantao.com,涛涛电脑知识网,但是问题出现在白名单机制验证那里。
使用正则匹配这里就给了我们绕过的方法在借个iis解析特性即可获取一个shell。
验证代码:
$upext='txt,rar,zip,jpg,jpeg,gif,png,swf,wmv,avi,wma,mp3,mid';//上传扩展名
......
if(preg_match('/'.str_replace(',','|',$upext).'/i',$extension))
{
......
只要我们上传的后缀名包含$upext里面的后缀即可成功上传。
修复方案:
修补的话你懂得。
作者 公子