Web安全渗透学习-文件上传漏洞

Web安全渗透-学习笔记-文件上传漏洞

文件上传漏洞原理

所谓文件上传漏洞,就是利用上传相应的可执行脚本文件到服务器上,使我们能够获得服务器的操作权限。可执行的脚本文件有很多,这里就拿PHP的一句话木马举例:
<?php @eval($_POST[value]);?>
这里面的 value 可以换成其他任意的,这个表示连接被植入可执行代码服务器的密码。我们在把它保存为一个php文件后,就可以想办法上传到服务器上面。上传上去后我们就可以通过“中国菜刀”连接上目标服务器,对它进行操作管理。

文件上传漏洞安全级别

在OWASPBWA靶机中,文件上传漏洞包含了三个级别,分别是:低安全级别、中安全级别、高安全级别,每个安全级别对应的模式也不同。

低安全级别

低安全级别是真的不安全,目标系统由于没有对上传的文件进行限制,所以原本是让我们上传图片,但是我们却可以上传其他类型的文件,比如一些php木马文件等,在该安全级别下,我们可以直接上传可执行脚本文件文件到网站上,然后通过安全工具直接连接目标系统,对目标系统进行连接操作。

中安全级别

中安全级别相对于低安全级别而言,对文件类型进行了限制,正常情况下,我们只能上传图片文件。但是我们可以通过代理,然后修改我们上传文件的mime的类型。具体mime类型介绍可参考网络文献。中安全级别下我们通过代理服务器修改我们上传文件的mime类型,就可以上传不是图片的文件。比如我们还是上传php木马,我们开启了代理功能后,在网页内上传文件时,我们的代理服务器会劫持到我们的请求,然后我们通过修改上传文件类型,比如php类型应该为"application"类型,我们把它修改为"image/jpeg",然后在让代理服务器把该请求转发过去,这时候我们上传的文件类型本来是可执行的php文件,但是通过代理修改了类型过后,目标服务器接收到的请求是上传了一个图片文件,所以这时候脚本文件就成功上传,然后就可以通过安全工具连接目标系统进行连接操作了。

高安全级别

高安全级别,正如它的名字一样,该安全级别下,服务器对上传的文件进行了扩展名的限制,比如它限制了只能上传jpg格式的图片,然后我们上传其他类型文件时就无法成功上传,并且就算我们利用中安全级别的代理修改mime文件类型也没有用,因为服务器是限制了扩展名,我们虽然修改了mime类型,但是原来的扩展名还是“.php”,所以该方法就不适用了。这时候只能老老实实的上传图片,但是我们可以对图片进行一些处理,让我们的代码植入到图片之中,然后将图片上传到服务器上面,可是你以为带有木马代码的图片上传上去就可以进入对方系统了吗?NO,因为我们上传的图片虽然有代码,但是我们的代码还没有执行,我们想办法执行图片里面的代码后才能正常的进入目标系统。具体怎么让代码执行,我们需要用到文件包含漏洞的知识,利用文件包含漏洞来使图片里面的代码执行,然后执行后通过安全工具进行目标系统的连接操作。相关知识后面学习。

文件上传漏洞防御

文件上传一般都是用于头像之类的地方,我们应该要对上传的文件做基本的限制,比如设置头像时我们就只能让用户上传图片,不允许上传其他文件。但是上传图片的话也有一定的风险,因为别人有可能把可执行代码植入到图片中将图片上传后通过其他漏洞执行该代码,从而取得我们服务器的管理权限。并且,别人要想获得我们服务器的权限,他需要知道他上传的文件在哪个位置,所以我们应该不能让上传文件所保存的目录暴露出来,这样相对来说安全一点,因为让别人知道问价保存的路劲后,也许会通过其他更简便的手段获取到服务器的管理权限。

结尾

电脑拖不动三台虚拟机,看来得去买根内存条了。并且虚拟机也有点问题,不知道是VMware还是虚拟机本身问题,物理机输入IP居然不能访问OWASP,虚拟机输入OWAPS的IP就能访问,奇了怪了,先解决这个问题再说,然后到时候再回来配图哈哈哈。

猜你喜欢

转载自blog.csdn.net/weixin_43468445/article/details/93754356