upload-labs靶场1-19关秒杀攻略

news2024/9/22 7:30:01

Pass-01

      打开第一关,我们先上传一个jpg文件看看这个文件上传功能正不正常

     

发现可以正常上传,并且访问这个图片也能正常访问,然后我们尝试上传php文件,发现弹出个警告,不让上传

      我们上传php时开启抓包,发现抓不到数据包,说明这个上传的数据是在前端进行判断。我们将php文件后缀改为jpg上传,然后开启抓包,发现成功抓到数据包

      然后将数据信息中的文件后缀名改为php后放行数据包

      发现成功上传  

      然后我们用蚁剑连接(php文件中放着一句话木马),连接成功

Pass-02

      这一关与第一关差不多,第一关中是前端直接检测文件后缀名,第二关是到后端检测文件类型,所以这关我们直接上传php文件然后进行抓包

      这一次,我们要修改文件的类型,所以要修改content-type这一行,改为任意的图片后缀,我这里修改为image/png

      然后放行点击上传,发现成功上传

Pass-03

      这一关与前面相同,只需要在抓包中把php改为php5或者php3等就可以了(根据系统不同,有的可能运行不了)

      需要修改配置文件httpd.conf,在大概465行加入AddType application/x-httpd-php .php .phtml .php5 .php3,这里是设定了可以将后缀为php3,php5等文件也当作php文件执行

      改为php3(或者5)之后直接放行就可以上传成功,然后进行访问了

Pass-04

      这一关要用到apache中的.htaccess绕过,我们先创建一个.htaccess文件,内容为

<FilesMatch "1.png">
SetHandler application/x-httpd-php
</FilesMatch>

      它可以将同目录下的1.png文件当作php文件运行,然后再将我们的1.php改为1.png与.htaccess一起上传后,去访问1.png文件,发现访问成功,即上传成功

Pass-05

      这关我们同样点击查看源码,发现没有过滤大小写

所以我们只需要将1.php改为1.Php就可以,这关同样因为环境问题有各种不同的效果

      发现上传成功,也是可以成功访问的

Pass-06

      这一关没有过滤去首尾空格,所以我们可以在php末尾加个空格,就可以上传,但是windows系统默认是不允许我们在文件末尾中加空格的,这就需要我们利用burpsuit抓包然后进行修改

      打开burpsuit开启抓包后点击上传,在文件信息中的文件名称后加个空格,然后放行

      发现成功上传,也可以正常连接

Pass-07

      

      这一关在查看源码后发现没有删除文件末尾的点这一个过滤

      所以我们可以像第六关那样抓包然后在文件末尾加一个点然后放行,发现成功上传

      也可以正常连接

Pass-08

      这一关没有去除::$DATA字符串

      所以我们可以在文件末尾加一个::$DATA,然后上传,发现成功上传

      然后我们访问时需要将::$DATA删除,就可以正常连接

      这里的::$DATA的作用是将上传的文件被当作数据流,当网站看到用户上传的只是个数据流,就不会对其加以防护。

Pass-09

      这一关我们需要抓包后在文件后面加上. .(中间有空格)。然后放行,就可以成功上传然后访问。

Pass-10

      这一关通过源码可以发现,他是通过检测我们上传的文件名称,如果其中有php则将其删除,所以这一关我们可以通过双写的方法,让他将将测到的php删除后,文件后缀仍然可以拼成一个php进行上传,所以这一关我们上传的文件名为1.pphphp

      发现可以成功上传,然后直接去访问该图片(点击新建标签页打开图像)

      然后尝试连接

Pass-11

      这一关需要php的版本号低于5.3.29,且magic_quotes_gpc为关闭状态(需要自己关闭),查看这关源码,很明显是一个白名单上传,它只允许上传它给定的后缀名

      我们需要将我们的php文件后缀名改为jpg然后抓包上传

      在其中的save_path(文件上传路径)后直接加上我们要上传的文件---1.php%00/jpg(这里的%00为一个截断符号,他代表网站检索路径时检索到这里就结束,这样就不会再加上后面的1.jpg从而变成1.php1.jpg了),然后放行发现上传成功

      直接去访问就可以了,也可以成功连接(如果不行就是环境问题)

Pass-12

      查看这一关的源代码,和第十一关对比,发现变成了post提交,那么思路就和第十一关一样,不过post方式不会自行解码,所以我们先要对%00进行一次url编码再填入进去,而且这次的路径不会直接在上面的url中显示,变成了下面

       选中%00然后右键可以直接进行url编码

       编码后直接放行就可以了,与第十一题一样

Pass-13

       这一关提示我们上传图片码

       图片码是伪装成图片的木马文件,具体的制作方法参照       https://www.cnblogs.com/1ink/p/15101706.html,只需要用记事本打开图片后在底部添加上我们要运行的shell命令就可以了,这里还需要一个php文件,内容为

 <?php
/*
本页面存在文件包含漏洞,用于测试图片马是否能正常运行!
*/
header("Content-Type:text/html;charset=utf-8");
$file = $_GET['file'];
if(isset($file)){
    include $file;
}else{
    show_source(__file__);
}
?

      将其放在web目录下,这个文件主要是为了将我们上传的图片码内容可以当作php代码运行,万事具备后我们直接上传我们的图片码

      发现可以直接上传成功,上传成功后直接访问是访问到了这个图片,我们需要用那个执行php命令的文件再将其访问一下。

      首先,我们先访问那个文件

      这个文件是用get的方法获取一个参数,它可以将别的后缀的文件当作php命令执行,正好可以运行我们的图片码,我们访问图片码,然后复制路径(这里只需要upload后面的)upload//9220240726183701.gif

      然后在上一个文件url的末尾加一个file参数=upload//9220240726183701.gif

      点击回车看到下面页面即是访问成功

      然后我们尝试连接(直接复制访问后的url就可),发现连接成功

Pass-14

      与13关相同

Pass-15

      与13,14关相同

Pass-16

      这一关也可以上传图片码,但是他会将我们的图片进行二次渲染后再自行组合成图片,所以我们上传与前面同样的图片码时会报错

      这里我们直接上传一个已经进行过二次渲染的图片码就好

      可以发现成功上传,剩下的步骤就与前面三关相同了,我们连接发现连接成功

Pass-17

     这一关用到了条件竞争,查看源码后发现,他会将我们上传的文件进行检查,发现不是规定的文件后直接删除,所以我们就要利用条件竞争,在他删除我们的文件之前访问我们的文件使其语句执行成功,而这里用到的语句就是生成另一个文件的语句

<?php @fputs(fopen('233.php',w),'<?php phpinfo();?>');?>

      他的意思是生成一个名为233.php的文件,内容为<?php phpinfo();?>(探针),我们将这段语句放到上传的文件(我这里是1.php)中,然后开始上传,因为删除的很快,我们这里用burpsuit抓包后利用攻击模块去一直给他发送,抓到包后右键发送到intruder

      在攻击模块中将payload选择为nullpayloads,然后选择无限重复后开始攻击

      接下来就要到浏览器中不断访问upload/1.php,不断刷新,直到显示生成成功后upload文件夹里就会有233.php文件(这里有运气和电脑配置网速等等很多因素影响)

      接下来我们只要去访问233.php文件就好了(因为这里我们放的是探针文件,如果想要获取shell,只要把1.php文件中的生成文件内容改为一句话木马就好)

Pass-18

      这一关又限制了文件名后缀,不能上传php的文件了,我们直接上传图片码尝试,发现可以,与13,14,15关相同

Pass-19

      这一关可以让我们自己选择上传的文件的名称

      我们尝试直接上传1.php文件,然后在保存名称中改为1.php.,发现成功上传

      也可以连接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1964784.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VMware、Yum、VIM、Zsh、Oh My Zsh - 搭建属于你的虚拟机

目录 VMware 虚拟机搭建 下载 Centos7 镜像 创建虚拟机 虚拟机网络配置 常用软件配置 yum 配置 vim 安装及配置 zsh 安装 on my zsh 用起来 基本安装 插件 zsh-augosuggestions&#xff08;自动补全&#xff09; 插件 zsh-syntax-highlighting&#xff08;语法高亮…

数据结构:二叉树(链式结构)

文章目录 1. 二叉树的链式结构2. 二叉树的创建和实现相关功能2.1 创建二叉树2.2 二叉树的前&#xff0c;中&#xff0c;后序遍历2.2.1 前序遍历2.2.2 中序遍历2.2.3 后序遍历 2.3 二叉树节点个数2.4 二叉树叶子结点个数2.5 二叉树第k层结点个数2.6 二叉树的深度/高度2.7 二叉树…

Vitis HLS 完美嵌套循环通过 m_axi 接口读取DDR 的迭代次数细粒度控制实验 — 问题描述

1 自媒体账号 目前运营的自媒体账号如下&#xff1a; 哔哩哔哩 【雪天鱼】: 雪天鱼个人主页-bilibili.comCSDN 【雪天鱼】: 雪天鱼-CSDN博客 QQ 学习交流群 FPGA科研硕博交流群 910055563 (进群有一定的学历门槛&#xff0c;长期未发言会被请出群聊&#xff0c;主要交流FPG…

str字符串常量,字符指针char * str的存储方式,以及如何赋值的

在使用字符指针时&#xff0c;第一种为通常的情况。 这次主要关注第二种情况&#xff1a;把字符串赋值给字符指针变量&#xff0c;pa中存储的不是这串字符&#xff0c;而是字符串的首字符的地址。 abcdef作为一个常量字符串程序会把其放在一个单独的内存区域&#xff0c;pa存储…

C++ Primer 总结索引 | 第十七章:标准库特殊设施

仍有一些标准库设施在很多应用中都是有用的&#xff1a;tuple、bitset、正则表达式以及随机数。还将介绍一些附加的I/O库功能&#xff1a;格式控制、未格式化I/O和随机访问 1、tuple 类型 1、tuple 是类似 pair 的模板。不同 tuple 类型的成员类型也不同&#xff0c;但一个 t…

基于SpringBoot+Vue的在线政务服务中心(带1w+文档)

基于SpringBootVue的在线政务服务中心(带1w文档) 本在线政务服务中心管理系统应用在线政务服务中心&#xff0c;数据库采用的是Mysql数据库&#xff0c;并且选择了java语言和SpringBoot框架进行开发项目&#xff0c;在项目开发过程中&#xff0c;实现了系统功能模块的安全性、实…

基于SpringBoot+Vue的来访管理系统(带1w+文档)

基于SpringBootVue的来访管理系统(带1w文档) 本系统为了数据库结构的灵活性所以打算采用MySQL来设计数据库[1]&#xff0c;而java技术[2]&#xff0c; B/S架构则保证了较高的平台适应性。文中主要是讲解了该系统的开发环境、要实现的基本功能和开发步骤&#xff0c;并主要讲述了…

删除链表的倒数第N个结点(LeetCode)

题目 给你一个链表&#xff0c;删除链表的倒数第个结点&#xff0c;并且返回链表的头结点。 示例1&#xff1a; 输入&#xff1a;&#xff0c; 输出&#xff1a; 示例2&#xff1a; 输入&#xff1a;&#xff0c; 输出&#xff1a; 示例3&#xff1a; 输入&#xff1a;&#x…

HCL实验1:两台PC通过交换机ping通

2台PC机器的Ip地址必须在同一子网 PC_2的ip地址和子网掩码配置如下 PC_3的ip地址和子网掩码配置如下 将接口管理启用 在PC_2的主机上ping PC_3的ip

万科云城 科技驱动的产城融合未来开放式智慧园区

随着科技的飞速发展&#xff0c;产城融合正成为推动城市发展的新引擎&#xff0c;而智慧园区作为产城融合建设的承载体&#xff0c;通过云、边、端等新型基础设施的不断完善&#xff0c;将生产、生活等功能板块有机结合&#xff0c;打破物理边界&#xff0c;重塑科技空间与服务…

人工智能已经到来,下一步会是什么?

人工智能 (AI) 一词诞生于 1955 年&#xff0c;当时一小群科学家游说洛克菲勒基金会资助达特茅斯研讨会&#xff0c;这是一项为期两个月的项目&#xff0c;其目的是“找到如何让机器使用语言、形成抽象和概念、解决现在只能由人类解决的各种问题并自我完善”。 人工智能的快速…

C++ 二叉树-递归与层序遍历

二叉树的题目根据不同的题目特点需要用不同的递归算法或者层序遍历实现。 递归三要素 根据题目要求&#xff1a;确定递归函数的参数和返回值&#xff1b;根据题目要求&#xff1a;确定递归函数的终止返回条件&#xff1b;根据题目要求&#xff1a;确定单层的递归逻辑。 层序…

系统架构设计师体系(高级)——开篇

哈哈&#xff0c;架构体系终于开篇了&#xff01;需要说明的是软考架构偏向于技术层面&#xff0c;对数据、业务和应用方向需要再开设新专栏。同时&#xff0c;笔者编写的内容大多基于培训、阅读和其他途径的综合整理&#xff0c;并不代表已经具有高级架构知识体系。希望读者可…

DjangoRF-10-过滤-django-filter

1、安装pip install django-filter https://pypi.org/ 搜索django-filter基础用法 2、进行配置 3、进行内容调试。 4、如果碰到没有关联的字段。interfaces和projects没有直接关联字段&#xff0c;但是interface和module有关联&#xff0c;而且module和projects关联&#x…

程序员转型AI大模型好转吗?成功率高吗?

前言 在程序员圈子中&#xff0c;技术转型近年来一直是热门话题。随着AI技术的迅猛发展&#xff0c;优秀人才短缺&#xff0c;程序员向AI大模型转型似乎成为了一条通往职场先机的路径。但是&#xff0c;这条转型之路是否容易走&#xff0c;成功率又如何呢&#xff1f; 一、程…

刷题了: 110.平衡二叉树 | 257. 二叉树的所有路径 |404.左叶子之和 | 222.完全二叉树的节点个数

110.平衡二叉树 文章讲解:https://programmercarl.com/0110.%E5%B9%B3%E8%A1%A1%E4%BA%8C%E5%8F%89%E6%A0%91.html 视频讲解:https://www.bilibili.com/video/BV1Ug411S7my/?spm_id_from333.788&vd_sourcee70917aa6392827d1ccc8d85e19e8375 题目链接:https://leetcode.cn…

MySQL从jsonarray获取某个字段的所有数据

表结构。表里的order_goods_info_vo_list是jsonarray字段 CREATE TABLE pdd_charge_back_bantuo (id int(11) NOT NULL AUTO_INCREMENT,shopname varchar(64) COLLATE utf8mb4_bin DEFAULT NULL COMMENT 店铺名,charge_back_sn varchar(64) COLLATE utf8mb4_bin DEFAULT NULL …

8. Spring Ai之入门到精通(超级详细)

简介 2024年5月30号Spring AI 的 1.0.0 里程碑 1 版本发布。表明版本已正在巩固&#xff0c;并且大部分主要错误和问题已经解决&#xff0c;API基本已确定&#xff0c;不会发生很大的变化。 在与大模型集成方面&#xff0c;继LangChain4j之后&#xff0c;又一重大的框架诞生。标…

捷径,这世上有没有捷径

Q&#xff1a;大师&#xff0c;这个世界上有没有捷径&#xff1f; A&#xff1a;有呀&#xff0c;有捷径呀 Q&#xff1a;大师&#xff0c;那我要怎么走&#xff1f; A&#xff1a;你错啦&#xff0c;不要想着走捷径&#xff0c;因为捷径不是用来走的&#xff0c;捷径是用来飞的…

计算机网络03

文章目录 重传机制超时重传快速重传SACK 方法Duplicate SACK 滑动窗口流量控制操作系统缓冲区与滑动窗口的关系窗口关闭糊涂窗口综合症 拥塞控制慢启动拥塞避免算法拥塞发生快速恢复 如何理解是 TCP 面向字节流协议&#xff1f;如何理解字节流&#xff1f;如何解决粘包&#xf…