文件上传漏洞

admin 2024年1月16日17:57:08评论25 views字数 960阅读3分12秒阅读模式

想要挖掘一个漏洞我们首先就要知道这个漏洞是如何产生的。

1.漏洞产生原理

没有对用户上传的文件做校验和没有控制服务器对上传目录的解析和执行行为,导致具有危害的脚本被保存到服务器上,错误的执行了这些有危害的脚本

2.漏洞利用

找到一个可以上传文件的入口成功绕过就可以上传脚本文件,然后访问脚本文件来执行脚本,从而达到控制服务器的目的。

如何绕过

可能存在大小写绕过——比如 aSp pHp 之类

双写php——比如pphphp之类,适用于过滤脚本没有循环执行的情况

黑名单扩展名的漏网之鱼 -——比如 asa cer jsp jspx jspf asp asa cer aspx php php2 php3 php4 php5 phtml exe 之类

3.靶场案例讲解

在这里给大家推荐:http://114.116.45.110/里面有各种靶场,不想自己搭建的小伙伴可以使用一下。这里使用Upload-labs靶场pass-01(第一关)讲解

首先上传一个后缀php的文件查看有无过滤,据回显发现有js前端校验白名单,只允许上传后缀为.jpg.png.gif的文件。

文件上传漏洞

这个时候上传一个后缀为.jpg的文件,文件内容为一句话木马<?php @eval($_POST['attack']);?>,使用burp抓包并修改文件后缀为php,即可上传成功

文件上传漏洞

下面是Burp抓包修改

文件上传漏洞

上传成功之后右键图片获取图片地址

文件上传漏洞

然后打开工具蚁剑( https://github.com/AntSwordProject/antSword),点击添加使用一句话木马连接

文件上传漏洞

连接成功

文件上传漏洞

4.危害

攻击者通过上传和访问脚本文件的方式来执行该脚本文件,从而达到控制服务器的目的。

5.防护

前端校验:前端页面在提交上传文件时,增加文件类型的校验,如果不是指定的文件类型,就拒绝提交。

后端黑白名单校验:在文件被上传到后端服务器的时候,先对文件的扩展名进行校验,就是设置黑白名单。

防止服务器对上传的文件意外地执行:我们可以设置服务器对特定目录的行为来避免漏洞的发生。比如将用户上传的文件保存到下载功能的目录下。

修改用户上传的文件名:当文件上传到服务器之后,服务器可以对文件进行随机重命名,然后再保存到上传目录中,这样黑客就无法找到他上传的脚本。

网络安全技术交流群:

文件上传漏洞

QQ群:708769345

原文始发于微信公众号(小黑子安全):文件上传漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月16日17:57:08
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   文件上传漏洞http://cn-sec.com/archives/2399038.html

发表评论

匿名网友 填写信息