文件上传漏洞 —— Java演示

该文章仅用于信息防御技术

首先,(存在)文件上传漏洞有什么危害?

答:比如你开发一款OA办公系统,员工上传照片作为自己的头像,但是你这个上传是存在漏洞的,那我是不是就上传一点别的东西??如果我给它上传一个JSP文件或者一个PHP文件,如果我又知道文件存放的地址,那么我一访问我上传的文件,它是不是就会被解析执行??如果我文件代码是病毒或者木马呢??是不是病毒、木马代码就会被执行?这就是危害!!

文件上传漏洞原理?

答:文件上传漏洞没有原理,主要还是看程序员的代码是怎么写的,比如只对上传的文件做简单的扩展名校验,校验扩展名是否是图片的话,那么这必定存在文件上传漏洞!!存不存在漏洞,关键看代码怎么写!

文件上传漏洞有多少种?

如果细分的话,有很多种,这里只讲几种

存在文件上传漏洞怎么修复?

没什么方法,修改源码吧,代码写的健全、考虑的多,if。。。。。。。。就不会存在文件上传漏洞!!

那么开始演示吧,过一遍正常的流程,看一下主要的代码

校验文件的主要代码:

文件上传漏洞 —— Java演示_第1张图片

这是一个上传图书的功能,当扩展名不是png、jpg、gif、bmp的时候,不允许上传,如下:

文件上传漏洞 —— Java演示_第2张图片

一、文件上传漏洞之————空字节

当字符串有%00(空字节),就会被服务器似作为结束符。
如果存在此漏洞,那么当你选择 XXXX%00.jpg的时候,它会把后面的给截断,就可以顺利的上传了,如图:

文件上传漏洞 —— Java演示_第3张图片
文件上传漏洞 —— Java演示_第4张图片

结果肯定是上传失败,因为java代码不存在此漏洞

二、文件上传漏洞之————修改文件扩展名

虽然文件的扩展名修改了,但是文件的内容没变!!如图:

文件上传漏洞 —— Java演示_第5张图片
文件上传漏洞 —— Java演示_第6张图片

三、文件上传漏洞之————类型绕过

这需要用到工具burpsuite来进行抓包,修改文件类型
这个例子都不放java代码了,因为没写,放一个PHP的,上传一个ddd.txt文件,因为我抓包修改了文件类型,所以顺利上传成功!!

文件上传漏洞 —— Java演示_第7张图片
文件上传漏洞 —— Java演示_第8张图片

三、文件上传漏洞之————二次上传

就是上传多次同一个文件,它会把后一个的文件名字改掉,就可以顺利上传了

四、文件上传漏洞之————解析漏洞

服务器本身存在的文件上传漏洞

说了那么多,假如文件上传成功了,我也知道服务器存放文件的路径,我访问一下,代码就会被解析执行,代码随便你怎么写,如图:

文件上传漏洞 —— Java演示_第9张图片
文件上传漏洞 —— Java演示_第10张图片

你可能感兴趣的:(文件上传漏洞 —— Java演示)