049-WEB攻防-文件上传&存储安全&OSS对象&分站&解析安全&解码还原&目录执行
小迪文件上传49~ 笔记总结

#文件-解析方案-执行权限&解码还原
1、执行权限
- 文件上传后存储目录不给执行权限
- 原理:开启禁止目录执行,将服务器的文件上传后存储目录,取消读取和执行的权限

由于文件上传功能并未做过滤,直接上传包含后门的木马文件shell.php上传成功即可发现,phpinfo被执行了,该文件被解析为php脚本
当在小皮网址配置的==选择安全配置→开启禁止目录执行→将禁止执行的目录设置为上传目录(/1/upload)==
开启后,再次访问上传的木马文件,发现报错403,至此文件上传漏洞不能被利用


如何判断
1.如果目录下已经上传进去木马文件,访问其上传路径发现报错403禁止访问,可能是文件上传后存储目录不给执行权限

2、解码还原

数据做存储,解析固定(文件后缀名无关)
文件上传后利用编码传输解码还原
- 当服务器把上传的文件,利用base64编码编码为数据存储,也就是说从根本上解决了文件上传漏洞的问题==,以数据存储就没有其他类型的文件解析即使上传后门文件,最后也是被当成图片去解析,由固定的协议去解析数据(data:image/png;base64,base数据)==
1 | // 处理文件上传 |

如何判断是解码还原
在上传文件的时候,抓取数据包,如果发现是==由固定的协议(data:image/png;base64,base数据)则就是解码还原==

#文件-存储方案-分站存储&OSS对象
1、分站存储
upload.xiaodi8.com 上传
images.xiaodi8.com 存储==(另一台服务器,目录权限锁死,只提供存储服务,不提供解析服务,即使上传木马文件,连接后门也无用)==
存储图片在另一台服务,有关于上传文件还使用base64编译为数据,进一步放置了文件上传的隐患
如何判断分站存储?
上传图片后,查看图片URL地址中的域名是否和目标上传地址一致,如果不一致则是分站存储


2、OSS对象
Access控制-OSS对象存储-Bucket对象
上传的文件只能当作一个网盘来看,不提供解析服务,只提供下载

#如何判断
如果访问上传的文件路径,发现访问及下载,多半是OSS对象
#安全绕过
以上方案除目录设置权限如能==换目录解析绕过外,==
其他均无解
- 控制上传文件的的存储目录,绕开开启限制执行的目录即可


本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 0xMouise!






