当前位置: 首页 > article >正文

upload-labs-靶场(1-19关)通关攻略

文件上传漏洞是指由于程序员再开发时,未对用户上传的文件进行严格的验证和过滤,而导致用户可以上传可执行的动态脚本文件

Pass-01(前端验证绕过)

上传111.php文件,发现弹窗显示不允许,并给出白名单文件类型

方法一: 因为是前端拦截,所以删掉拦截代码,再尝试上传,发现上传成功

 方法二:禁用前端JavaScript,尝试上传,上传成功

Pass-02 (Content-Type方式绕过)

上传.php用BP抓包,修改文件类型

之后放行,上传成功 

Pass-03 (黑名单绕过)

查看源代码,找到黑名单里面的后缀

 不上传黑名单里面的后缀,上传php3、php5、phtml等后缀的木马

上传成功

Pass-04 (.htaccess文件绕过)

上传.htaccess配置文件,.htaccess是apache的配置文件,在这个文件中配置我们上传的图片用php解析器解析

 上传正常的图片后缀的木马

上传后成功访问 

Pass-05(后缀大小写绕过) 

上传大小写的php后缀,比如PhP,Php等等

访问成功 

Pass-06(文件后缀(空)绕过)

文件名末尾添加空格,由于windows命名规范不允许文件名末尾出现空格,会被windows电脑自动删除。所以用BP抓包进行修改

放行后上传成功 

Pass-07(文件后缀(点)绕过)

与第六关原理相同,文件名末尾添加圆点,由于windows命名规范不允许文件名末尾出现点,会被windows电脑自动删除。所以用BP抓包进行修改

Pass-08   ::$DATA(Windows文件流绕过)

在windows识别文件的时候,会把::$data当做文件流文件去识别

上传成功 

Pass-09(构造文件后缀绕过)

点空格点绕过,去除文件名末尾的点,剩下点空格,收尾去空,剩下点。最终上传的木马名字是木马.php点,由于文件名末尾的点不符合windows的命名规范,所以上传成功以后只剩下木马.php

放行上传成功 

Pass-10 (双写文件后缀绕过)

双写后缀绕过 ,遇到php会删除,那么双写,用pphphp后缀

上传成功

 Pass-11(%00截断绕过(GET))

(GET)  直接在保存的文件名后面加%00,起到截断作用

放行上传成功

Pass-12(%00截断绕过(POST))

不同于上一关的是post的%00需要url解码

放行访问成功 

Pass-13(图片马绕过) 

图片马不能单独用,需要和文件包含漏洞组合用。

木马前添加GIF89a,在上传.jpg文件

 用文件包含漏洞把图片马包含到页面上执行

Pass-14和Pass-15与Pass-13一样

Pass-16(二次渲染绕过)

上传图片

用文件包含漏洞把图片马包含到页面上执行 

Pass-17 (条件竞争绕过)

上传能够输出木马文件的木马,然后上传了这个木马会在极短的时间内被删除,我们需要抓包一直爆破这个上传木马的数据包

同时一直访问 777.php,将得到 webshell.php木马文件

然后访问webshell.php,发现存在,并用蚁剑连接成功

 

Pass-18 (条件竞争   二 )

与Pass-17原理一样, 不同的是把php文件改成jpg文件上传,所以在jpg内写上输出木马到目录里面的代码,利用文件包含漏洞一直包含这个文件,只要包含到这个文件,这个jpg文件内的php代码就会被运行,木马文件webshell.php就会生成

Pass-19(move_uploaded_file()截断)

把jpg文件保存为php文件

/.绕过,文件名末尾的点会被删除,/会被当做路径 

 

 


http://www.kler.cn/a/582535.html

相关文章:

  • 一次解决Andriod Studio Build Gradle很慢或报错下载失败等问题
  • 蓝桥杯第二天:2023省赛C 1题 分糖果
  • 数字电子技术基础(二十七)——输入端电阻的负载特性
  • 微商模式的演进与开源链动2+1模式、AI智能名片及S2B2C商城小程序源码的应用探索
  • 游戏开发商 Nimblebites 携 Super-B 在 Sui 上推动游戏创新
  • 蓝桥杯备考:数据结构堆之序列合并
  • 【Pandas】pandas Series shift
  • 浅谈React的Diff算法,简单易懂!
  • 创建模式-工厂方法模式(Factory Method Pattern)
  • EasyRTC实现海思设备与Web浏览器小程序双向通话时,收到浏览器H5端发来的音频应该如何解码播放
  • 渗透测试工具之OpenVAS
  • 【SQL】查看触发器名称、所属的表(包括架构)、事件类型、触发器类型(AFTER/INSTEAD OF)、是否启用、创建日期
  • coze ai assistant Task 2
  • Tomato靶机攻略
  • 【深度学习】图像卷积
  • Jupyter Notebook 全平台安装与配置教程(附Python/Anaconda双方案)
  • pytest数据库测试文章推荐
  • ‌Visual Studio Code(VS Code)支持的编程语言
  • 011-base64
  • AI概率学预测足球大小球让球数据分析