IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> upload labs解题手记 -> 正文阅读

[PHP知识库]upload labs解题手记

靶机来源:https://buuoj.cn/challenges#Upload-Labs-Linux

第一题

我们先判断问题来自于哪里,由下图可知,主要检验来源于前端JS对文件类型的过滤
在这里插入图片描述
在这里插入图片描述

可以得出主要问题来自于前端JS判断,这里我们只需要绕过JS的检测即可上传php脚本
方法1:
通过前端禁用JS达到上传的目的,我这里用的是谷歌内核的Edge游览器,直接按F12然后再按F1滑倒下方禁用JS脚本,然后上传自己的PHP小马或者大马即可
在这里插入图片描述
方式2
通过bp进行改包,我们先将自己的马修改为可上传的文件类型(这里的前提先将游览器与bp的代理配置好,我游览器的插件用的是switchyomega,用的是默认的8080端口),我这里用的是jpg格式的文件,然后使用bp进行抓包,拦截到发送包后,我们直接将抓到的1.jpg文件修改为1.php,然后放行,接着将返回的地址使用蚁剑进行连接

第二题

还是先进行直接上传一个脚本进行判断,是哪里的问题,这里提示了文件类型不正确,典型的mime问题,我们可以直接使用bp进行mime绕过,这里我上传一个php类型的小马,使用bp抓包,拦截内容并修改content-type内容为image/jpeg,然后进行放包,就成功将小马上传到了服务器
在这里插入图片描述
在这里插入图片描述

第三题

首先,判断问题,解决问题,如图,上传禁止了部分文件的后缀,但我们却可以利用上传其他文件后缀达到相同的效果,如下第二张图(截图于第四题的index文件),因为题目用的是php站点,所以我们使用其他类型的php格式文件替代,我这里使用的是phtml格式上传,复制图片的链接,打开蚁剑,测试连接
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第四题

这题对大部分文件后缀类型进行了过滤, 但没有对.htaccess文件过滤,并且不像第三题一样会对文件进行重命名,所以可能存在.htaccess解析漏洞。
这里我们直接创建一个.htaccess文件并将内容写入文件中

SetHandler application/x-httpd-php

这个主要是将我们的文件都当作php文件进行执行,这样我们就可以通过上传图片马解析,当作php脚本文件执行
Windows无法直接桌面命名.htaccess,使用命令行命名,rename htaccess .htaccess,然后进行上传文件,上传.htaccess文件后,我们再将我们的一句话脚本重命名为jpg格式文件进行上传,复制返回图片地址,接着直接用蚁剑进行连接即可

第五题

打开由右上角源码审计得出,没有对后缀转换为小写,也没有对大写的PHP后缀进行过滤,所以这里我们可以试试使用大写的后缀进行上传测试
在这里插入图片描述

第六题

源码审计得出,没有对文件名进行前后缀去空处理,这里我们可以使用再后缀上添加空格来进行上传。这里我们使用bp进行抓包,在上传文件时,给文件后缀添加上空格,即可上传成功
在这里插入图片描述

第七题

这题是因为代码没有对后缀去除点而导致的,我们可以在上题的基础上,把改包的空格换成.即可上传成功
在这里插入图片描述

第八题

和前几题类似,没有对::$DATA进行过滤导致的问题,我们只需要将改包的内容换成::$DATA即可
(这个问题仅对Windows有效,Windows服务器会把结尾的data后的数据当作文件流处理,因为这题我的靶机服务器是Linux,从而这题无了)

第九题

这题通过源码判断首先会对文件名进行去除前后的空格,然后去除文件后缀的所有点,最后再进行一次首尾去空处理,所以这里我们可以使用点+空格+点形式来进行绕过,这里之所以要在中间位置加一个空格,是因为有一步操作是对后缀的所有点进行去除,所以我们使用空格进行隔断,剩下的操作就和前几道题类似了

第十题

这一题,我们发现,可以直接上传php文件,没有进行任何的过滤,但却发现我们本来上传的是1.php文件,上传后却变成了1.,所以得出,这里是直接将php这个字符串进行了去除处理,所以我们这里使用双写绕过,将文件名进行改造1.pphphp,这样在他进行去除php这个字符串的时候,就能将剩下的字符串进行组合,形成新的php后缀
修改前上传
修改后上传

第十一题~十二题

我的靶机PHP版本达到了7.2.21,这个问题仅正对5.3.4以下版本,这两道题%00截断无法测试,所以跳过,大致为保存路径后添加上%00进行绕过

第十三题~第十五题

这题考查的是文件包含漏洞+图片马,按题目要求,制作一张图片马,选用一张正常的图片1.jpg和一张包含马的图片格式文件2.jpg,进行合并

copy 1.jpg /b + 2.jpg /a shell.jpg

合并后进行直接上传,然后我们使用他给的地址,进行组合访问给的图片,使用图片进行蚁剑连接即可
在这里插入图片描述

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章           查看所有文章
加:2021-11-11 12:31:11  更:2021-11-11 12:32:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 14:33:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码