
java代码审计2-文件上传漏洞
在上传获取后缀名 开发会对后缀名限制 例如 黑名单上传(禁止上传)java、jspx、jsp、php、exe、等文件类型。绕过上传后,服务器能解析改文件就能获取一个webshll。在上传时 有可控参数 会导致 目录穿越 上传类型不严时 通过上传恶意的war包到tomcat目录webapp目录中会获得webshell。代码中并没有后缀名进行限制 造成任意上传漏洞,直接上传jsp到指定目录。1.设置上
文件上传漏洞成因
1.没有限制后缀名
代码中并没有后缀名进行限制 造成任意上传漏洞,直接上传jsp到指定目录。保存的目录可被访问 则获取-个webshell.
2.黑白名单
在上传获取后缀名 开发会对后缀名限制 例如 黑名单上传(禁止上传)java、jspx、jsp、php、exe、等文件类型 。白名单 只允许上传 jpg gif png等图片文件。程序中采用黑名单限制上传。尝试上传名单以外的脚本文件。绕过上传后,服务器能解析改文件就能获取一个webshll。
代码
3.上传参数可控
在上传时 有可控参数 会导致 目录穿越 上传类型不严时 通过上传恶意的war包到tomcat目录webapp目录中会获得webshell
.war 上传war包到tomcat里webapps日录 war自动解压 就会得到一个webshel
代码
、
4.其他漏洞
除了以上三种常见漏洞 还有其他漏洞 例如 文件头检测 制作图片一句话就可以绕过。
文件类型检测 上传时候修改Content-Type:image/jpeg 类型就可以绕过。
5.防御建议
1.设置上传白名单 例如只允许上传 png gif jpg等图片类型后缀
2.进来不要使用客户端可控参数 需要使用时必须过滤。
3.上传目录 禁止解析脚本文件。
更多推荐
所有评论(0)