关于文件上传漏洞

文件上传点一般位置

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

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...