文件上传点一般位置
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.代码不严谨
双写绕过以及对空个点只做单次过滤