张裕 发表于 2024-7-16 09:43:45

049-WEB攻防-文件上传&存储安全&OSS对象&分站&分析安全&解码还原&目次实行

049-WEB攻防-文件上传&存储安全&OSS对象&分站&分析安全&解码还原&目次实行

https://img-blog.csdnimg.cn/img_convert/8507e14d59fd5e338d0382c6752d6174.png
#知识点:

   1、文件上传-安全分析方案-目次权限&解码还原
2、文件上传-安全存储方案-分站存储&OSS对象
演示案例:

   ➢文件-分析方案-实行权限&解码还原
➢文件-存储方案-分站存储&OSS对象
➢实例-分析存储-传输&分站&OSS存储
#文件-分析方案-实行权限&解码还原



[*]将源码复制到对应目次下,并创建image.wusuowei.com文件夹,存储源码`G:\develop\safety\phpstudy_pro\WWW\image.wusuowei.com
[*]将小皮的网站部署文件夹,选择创建好的存放文件夹目次访问对应ip和端口即可
https://img-blog.csdnimg.cn/img_convert/3999c2f69d03713375e47c7961ee560d.png
https://img-blog.csdnimg.cn/img_convert/b80dc1b77ba5999512ced2956a30cb02.png
https://img-blog.csdnimg.cn/img_convert/1acc228bbbdf2c04260d28d6c32e4071.png
1、实行权限



[*] 文件上传后存储目次不给实行权限
[*] 原理:开启克制目次实行,将服务器的文件上传后存储目次,取消读取和实行的权限
https://img-blog.csdnimg.cn/img_convert/b20ea2eab786f6a1a5416471630bc53d.png

[*] 由于文件上传功能并未做过滤,直接上传包含后门的木马文件shell.php上传成功即可发现,phpinfo被实行了,该文件被分析为php脚本
[*] 当在小皮网址设置的==选择安全设置→开启克制目次实行→将克制实行的目次设置为上传目次(/1/upload)==
[*] 开启后,再次访问上传的木马文件,发现报错403,至此文件上传毛病不能被使用
https://img-blog.csdnimg.cn/img_convert/60d3e33001275cffd4987b16adcf215d.png

https://img-blog.csdnimg.cn/img_convert/e5bf05e803a13e1110e52e1862cd82c2.png
https://img-blog.csdnimg.cn/img_convert/a52502c610c62bb9cad30b2b305ea3f6.png
https://img-blog.csdnimg.cn/img_convert/1370cc9754a561a46f80322d13d1d708.png
https://img-blog.csdnimg.cn/img_convert/35ff3951a3d4ec1431adb789c3a13c5e.png
2、解码还原

https://img-blog.csdnimg.cn/img_convert/4ef9b151f3e13cb81a7fa2fc4357b0bd.png


[*] 数据做存储,分析固定(文件后缀名无关)
文件上传后使用编码传输解码还原
1. 当服务器把上传的文件,利用base64编码编码为数据存储,也就是说从根本上解决了文件上传漏洞的问题==**,以数据存储就没有其他类型的文件解析即使上传后门文件,最后也是被当成图片去解析,由固定的协议去解析数据(data:image/png;base64,base数据)**==
<?php
// 处理文件上传
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['file'])) {
    // 获取上传的文件信息
    $file = $_FILES['file'];

    // 获取文件名和临时文件路径
    $filename = $file['name'];
    $tmpFilePath = $file['tmp_name'];

    **// 将文件内容转换为Base64编码
    $base64Data = base64_encode(file_get_contents($tmpFilePath));**

    // 输出Base64编码的文件内容
    echo $base64Data;

    // 如果是图片文件,可以将其在页面上显示
    echo '<img src="data:image/jpeg;base64,' . $base64Data . '" alt="上传的图片">';
}
?>

https://img-blog.csdnimg.cn/img_convert/dce9372c96d332a297dcb5554f8edaa7.png
https://img-blog.csdnimg.cn/img_convert/fdb7ca6bd3da2aa5086ec05fc0c6004d.png
https://img-blog.csdnimg.cn/img_convert/c1c079a0a11c8f3c861f0a70a8fd7674.png
#文件-存储方案-分站存储&OSS对象

1、分站存储

upload.xiaodi8.com 上传
images.xiaodi8.com 存储==(另一台服务器,目次权限锁死,只提供存储服务,不提供分析服务,纵然上传木马文件,连接后门也无用)==
存储图片在另一台服务,有关于上传文件还使用base64编译为数据,进一步放置了文件上传的隐患
https://img-blog.csdnimg.cn/img_convert/92cdd45f1a5d927251830c148e70e90e.png
https://img-blog.csdnimg.cn/img_convert/e551bd9ad9980feea7a73672f34c73b9.png
https://img-blog.csdnimg.cn/img_convert/878c7d6e1cfba7c4b7ae33e741f1f60a.png
2、OSS对象

Access控制-OSS对象存储-Bucket对象
上传的文件只能看成一个网盘来看,不提供分析服务,只提供下载
https://img-blog.csdnimg.cn/img_convert/4c0109bd5fe91fde951c194d9da6b90d.png
https://img-blog.csdnimg.cn/img_convert/92335265253e5ca9459afd68fbed2e76.png
#怎样判断


[*] 假如目次下已经上传进去木马文件,访问其上传路径发现报错403克制访问,可能是文件上传后存储目次不给实行权限
https://img-blog.csdnimg.cn/img_convert/32bfca1a360af9df7630efa0913fb65f.png
[*] 在上传文件的时候,抓取数据包,假如发现是==由固定的协议(data:image/png;base64,base数据)则就是解码还原==
https://img-blog.csdnimg.cn/img_convert/fa9e5c7065ad6b58aa057e15dedbd9d4.png
[*] 上传图片后,查看图片URL地址中的域名是否和目标上传地址一致,假如不一致则是分站存储
https://img-blog.csdnimg.cn/img_convert/15d1c2f0083b414cb555f62f64b0fe13.png
[*] 假如访问上传的文件路径,发现访问及下载,多半是OSS对象
https://img-blog.csdnimg.cn/img_convert/92335265253e5ca9459afd68fbed2e76.png
#安全绕过

以上方案除目次设置权限如能==换目次分析绕过外,==
其他均无解

[*]控制上传文件的的存储目次,绕开开启限定实行的目次即可(鸡肋)
https://img-blog.csdnimg.cn/img_convert/e5bf05e803a13e1110e52e1862cd82c2.png
https://img-blog.csdnimg.cn/img_convert/a8101419ba822aac8f2b26a9c3a54f6d.png
https://img-blog.csdnimg.cn/img_convert/c9ea8197f114f4d66cfba995215ef645.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 049-WEB攻防-文件上传&存储安全&OSS对象&分站&分析安全&解码还原&目次实行