网安学习Day12

目录

初识文件上传漏洞

那么什么是文件上传漏洞呢?

文件上传漏洞的危害

文件上传漏洞应该如何去查找以及判断?

文件上传漏洞产生的原因?

DVWA的演示

low

Medium

high


初识文件上传漏洞

那么什么是文件上传漏洞呢?

文件上传是web开发中的一项基本的功能,是指将本地的文档、视频、音频以及图片等上传到服务器,从而使得自己或者是其他的用户下载或者浏览的过程。

那么文件上传漏洞是指程序员在WEB应用中利用客户端上传功能控制、检测、处理的不足,向服务器上传特定的可执行文件(如webshell、恶意脚本、木马等)以达到控制主机的目的。

文件上传漏洞的危害

web开发人员如果在实现文件上传功能的时候,没有对文件的格式、后缀进行严格的过滤和检验,那么攻击者便可以利用这一方面的缺陷,直接上传木马、恶意脚本等再通过访问这些而已的脚本中的恶意代码,最终可能会导致用户信息泄露,被钓鱼、欺诈,甚至使攻击者可以上传webshell到服务器,进而得到自己想要的信息和权限,最终达到了对服务器的恶意操作,甚至完全控制服务器系统,在服务器系统中可以为所欲为。

文件上传漏洞应该如何去查找以及判断?

首先就是在拿到一个站点的时候,寻找有文件上传的功能的地方,然后判断是服务器端还是客户端的验证,客户端比较容易判断出来,最后就是检验是哪一种服务器端的过滤方式,判断是客户端和服务器端的检验,再检验是白名单还是黑名单,最后就是根据具体情况来决定采用什么绕过方式。

(服务器端检验和客户端检验的区别:客户端检验;如HTML、JavaScript,他们的使用比较简单,并且不需要提交到服务器端就可以验证,减少了服务器的负担,客户端提交的数据是可以自己进行更改的,我们在客户端的验证时很容易绕过的,直接建一个HTML,把表单提交写到你的地址上,再把验证语句去掉,那你的客户端验证就不起作用了;然而服务器端的验证我们是看不到代码的,我们是不可以随意的更改的)

文件上传漏洞产生的原因?

  1.  服务器配置不当
  2.  开源编辑器上传漏洞
  3.  本地文件上传限制被绕过
  4.  第三方应用对应的文件解析漏洞
  5.  在文件上传功能实现时过滤不严格
  6.  文件路径截断

DVWA的演示

low

        low级别的文件上传是不存在任何的过滤和检验的,因此我们可以直接上传php一句话木马,用菜刀直接进行连接。

Medium

        查看源代码我们可以看到对文件的后缀名,进行了过滤,我们再次上传之前的php一句话木马的时候,提示我们上传失败,必须上传jpg等图片格式。因此我们抓包可以修改Content-Type值或者是直接修改图片的后缀。

 

这里有一个做题的时候的疑问点,那就是发现:

        是IIS7.5版本,于是我就查看了IIS7.5对应的解析漏洞,在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面加上/xx.PHP会将 /xx.jpg/xx.php 解析为 php 文件。也就是说我们可以上传一个.jpg的文件,然后再在它的后面加上1.php,这样便会将解析php文件。但是测试不可以。可能是不满足对应的两个条件。

high

        对应的源码如下:

        high级别做出了更加严谨的过滤,它不仅仅限制是jpg、png等格式,以及限制图片的大小,而且还通过substr( $uploaded_name, strrpos( $uploaded_name, ‘.’) + 1),只验证文件名的第一个“.”后面的格式。

substr() 函数:
用于从指定字符串中截取一段字符;有三个参数:str,start,length
str是目标字符串,start是选取的首下标,length是可选参数,表示选取的字符串长度。

        之后我们就可以通过上传图片马,再结合low级别的文件包含使用菜刀来连接。我们将一个正常的图片和我们之前的shell.php进行copy成一个shell.png

copy a.png/b+shell.php/a test.png

         将这个图片进行上传,上传后得到路径,我们在利用low级别的文件包含漏洞,使用菜刀进行连接,在连接的时候我们需要对应的cookie值,我们可以查看response头得到。

http://xxx/vulnerabilities/fi/?page=file:///var/www/html/hackable/uploads/shell.png

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Y4y17

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值