温故而知新之文件上传
文件上传漏洞
文件上传漏洞是由于后端检测文件的时候 没有正确的检测文件类型 大小 内容 导致文件上传
文件上传防御
使用白名单 获取文件后缀名并转为小写 并检测是否在白名单
检测文件上传类型 MIME类型
检测文件大小 防止dos攻击
修改文件名 防止文件覆盖
审计思路
全局搜索有关upload的类/方法
重点查看是否有进行文件大小 文件类型 文件后缀检测
如果成功是否修改了文件名
检查文件保存路径是否可控
贴上su18师傅总结的需要审计的类/方法
1 | FileUpload |
文件上传利用
在springboot中 即使上传了.jsp文件到某个项目路径下面 也默认不会解析.jsp文件 因为没有jsp解析器
在tomcat中 如果可以上传.jsp文件到webApp文件下的某个项目中 tomcat默认会解析.jsp文件
javaweb的路径是逻辑路径 并非物理路径 上传了也可能无法解析
php使用的是物理路径 如果可以上传php文件 并且可以访问到 那么就可以上传webshell
除了webshell之外 还会上传html svg pdf xml文件弹xss
html可以弹cookie比较有用
bypass
大小写绕过
双写绕过
空格绕过
%00截断
::$DATA window中的文件主数据流 文件名::$DATA 请求数据流
点号绕过
中间件解析漏洞
图片马(配合文件包含)
.htaccess
条件竞争
绕一些waf可以使用大量垃圾数据 使得后面的内容直接放行
说些什么吧!