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

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文件

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

 

 

相关文章:

  • python-leetcode 50.岛屿数量
  • 颤抖:quiver,shiver,tremble的区别
  • 火绒终端安全管理系统V2.0--分层防御之行为拦截层
  • Benewake(北醒) 快速实现TF-NOVA IIC接口与电脑通信的操作说明
  • 电子文档安全管理系统 V6.0 resources/backup存在任意文件下载漏洞(DVB-2025-8794)
  • 数据结构与算法:归并排序
  • AIM-T500绝缘监测仪:实时监测,确保IT系统绝缘安全-安科瑞 蒋静
  • 2025-03-12 学习记录--C/C++-PTA 习题10-11 有序表的增删改查操作
  • 论数组去重之高效方法
  • ai讲angular rxjs
  • [023-01-40].第40节:组件应用 - OpenFeign与 Sentinel 集成实现fallback服务降级
  • C++ 中的 static_assert 编译期断言使用
  • AnythingLLM的局域网发布
  • CLR中的marshal_as 介绍
  • MPAndroidChart的MarkerView和CursorLineChartRenderer同步显示当前触摸的数据点
  • JavaScript泄露浏览器插件信息引发的安全漏洞及防护措施
  • Android内存泄漏检测与优化
  • 【AI学习】关于Kimi的MoBA
  • L1-054 福到了
  • Vue3 Tree-Shaking深度解析:原理剖析与最佳实践指南
  • 媒体:“西北大学副校长范代娣成陕西首富”系乌龙,但她的人生如同开挂
  • “救护车”半路加价?陕西卫健委已介入,记者调查:黑救护车挤占市场
  • 中国恒大:清盘人向香港高等法院申请撤回股份转让
  • 城市轨道交通安全、内河港区布局规划、扎实做好防汛工作……今天的上海市政府常务会议研究了这些重要事项
  • 刘国中:持续加强护士队伍建设,更好保障人民身体健康
  • 打击网络谣言、共建清朗家园,中国互联网联合辟谣平台2025年4月辟谣榜