关于文件上传漏洞

文件上传点一般位置

1.管理后台页面;
2.用户后台页面;
3.前台页面;
4.目录扫描(可能扫描到不需要登录的上传页面)

思维

1.分析网站架构(后端语言,中间件,目标服务器类型 版本)
2.已有手段依次测试;(先上传正常类型文件检查上传功能是否正常,再上传图片马等getshell)

文件内容检查突破

1.本地前端验证(审查元素修改javascript等);
2.服务器端验证(content-type 文件头 通过获取图像信息的检测getimagesize()/检查16进制 php_exif)
3.二次渲染;
(关于加后缀和二次渲染以及%00截断,解析漏洞绕过白名单待修改)

黑名单绕过

1.操作系统特性
windows:1>windows对大小写不敏感。2>xxx.php::$DATA=xxx.php。3>windows下文件名结尾加入._<> >>> 0x81-0xff等被windows自动去除;
2.语言特性
php或其他语言可解析后缀名
3.中间件特性(待修改)
解析漏洞();先查看web服务器类型及版本;
1>IIS 5.x-6.0:目录解析漏洞,文件名解析漏洞;
2>IIS 7.0-7.5:Fast-CGI开启导致解析图片中的代码上传webshell;
3>apache:不可识别解析后缀(不包括php,pHp3,phtml等后缀)例如1.php.w1.b2-->1.php | .htaccess
4>nginx:CGI 宽字节代码执行
4.代码不严谨
双写绕过以及对空个点只做单次过滤

另外可以尝试审查元素添加上传点进行双文件上传,有些情况下可能只检查上传的第一个文件

在文件在后端检查后被删除的情况下可以通过BP intruder多线程上传文件,然后再用给py脚本快速访问服务器端还未删除的文件来getshell

关于文件上传漏洞

上一篇:微信小程序从零开始开发步骤-引入框架WeUI


下一篇:小程序授权代码示例