YS 视频封面设置功能可上传大量图片,可进行资源消耗型DOS攻击【中】
问题描述:
YS允许用户为设备设置封面,后台在处理时允许用户间接可控上传图片的二级路径以及直接可控保存图片的文件名,相当于用户可以受限地去控制图片上传的路径,而在用户上传新设备封面时又未删除旧的封面图片,导致用户可以往后台不停地发送封面图片,进而耗尽资源,经测试,单个用户最多可以上传2147483647(2的31次方-1)次不相互覆盖的图片,而每次上传都会生成3张图片,xxx.jpg,xxx_web.jpg和xxx_mobile.jpg。
测试步骤:
1、 登录YS账户,选择现场视频à封面设置。
2、 使用拦截代理拦截上传请求,并转给burp intruder。
3、 设置chan参数作为fuzzing参数,遍历从100到999999999,如下图所示:
4、 登录后台查看,可以看到成功上传大量的图片,如下图:
问题扩展:
上传大量大容量的附件可导致存储型DOS,而上传大量极小的附件,可造成磁盘碎片化严重,进而产生磁盘性能的DOS。
解决建议:
1、 上传图片的完整路径的任意部分(包括文件名)都无法被用户直接或间接的控制,可参考YS用户头像上传功能。
2、 上传新图片应删除旧图片。
3、 上传图片大小必须有一个合理的范围值。