# 简介:
上传漏洞,轻者可以造成xss,被挂黑页,严重的甚至可以获得服务器权限,甚至system,root权限
# 原理:
开发者未对上传文件做过滤或者过滤不严格,导致恶意用户可以上传脚本。
# 漏洞生成出:
* 上传文件
* 服务远程更新
* 更改头像
* 操作文件
# 利用方法:
* 如果刚选择以php,jsp,aspx等为后缀的文件,就提示不允许,多半是前段验证。可抓包绕过。
* 后端验证:其他解析文件名绕过,如php4,jspx,ashx;解析漏洞;0x00截断后缀。
* 指定更新服务器
* 上传html文件,形成xss
# 危害:
* 造成xss
* 被挂黑页
* 获得服务器权限
# 防御:
* 检查源码中有上传文件,操作文件的地方。
* 配置WAF
* 非上传目录不给写入权限;上传目录禁止运行脚本或禁止访问
* 客户端:使用JS对上传的内容进行检测,包括文件大小,文件扩展名,文件类型等
* 服务端:白名单方式过滤文件扩展名;检查文件保存路径;对上传的文件重命名(可用时间戳拼接随机数)。
* 对上传的文件做二次加载渲染(用户上传的是图片,生成一个新的图片并存储,然后删除原来的图片)
* 及时打补丁