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

upload-labs靶场通关详解:第一关

一、一句话木马准备

新建一个文本文档,写入php代码,修改文件后缀名为php,保存。

phpinfo() 是 PHP 里的一个内置函数,其功能是输出关于当前 PHP 环境的详细信息。这些信息涵盖 PHP 版本、服务器配置、编译选项、PHP 扩展、环境变量、HTTP 头信息等多个方面,这里将它作为最简单的一句话木马来使用。

<?php
phpinfo();
?>

 

二、开始解题

1.直接上传文件。

页面显示上传失败,说明对上传文件进行了检查验证。

2.通过源代码进行详细分析。

找到靶场的文件目录,打开pass-1目录下的index文件。

通过代码可以发现,文件上传验证是写在js中,也就是最简单的前端验证。下面尝试用几种方式来绕过验证。

(1)禁用js绕过

直接在浏览器中禁用js,这样js验证代码就失效了。但是禁用js可能出现页面不能正常显示的情况,需要具体分析,具体使用。

首先按F12打开浏览器的开发者工具,在设置里面找到禁用js选项并勾选,这里以Edge浏览器为例。

然后再次上传一句话木马,发现上传成功。

一句话木马是放在upload目录下,下面测试一下木马是否能被正常解析。

出现如下页面,说明php文件被成功解析。

(2)利用bp抓包绕过验证

原理:上传的文件通过前端验证后,会将其发送给后端,在发送给后端的过程中将文件后缀改为php,这样上传到后端服务器中的文件就是php文件。

首先将一句话木马改为png、jpg等格式,使其通过前端验证,然后在数据包中将文件名改回php后缀,放行数据包,上传成功。

http://www.xdnf.cn/news/4512.html

相关文章:

  • 远程访问代理+内网穿透:火山引擎边缘网关助力自部署模型公网调用与全链路管控
  • 阿维塔汽车CAN总线数据适配技术解析与免破线数据采集实践
  • 模型中台建设全流程指南
  • [逆向工程]什么是 Process Explorer
  • 智慧系统搭建平台有哪些?2025智慧系统搭建平台推荐?智慧系统搭建平台TOP10全面解析
  • ERP源码?ERP系统是什么?能够解决什么问题?
  • 使用 Python 与 Java 实现接入 AI 大模型的 MCP 协议:原理与实战
  • 「动态规划」线性DP:股票问题合集 / LeetCode 121|122|123|188 (C++)
  • 密码学基石:哈希、对称/非对称加密与HTTPS实践详解
  • Charles 如何高效监控特定域名
  • BGP路由反射器
  • Linux 内核对 ARM 大小核架构的支持
  • B树如何用于磁盘 ,B+树为如何用于数据库
  • 源雀SCRM开源·AI企微客服|RAG知识中枢+自训练闭环
  • 汽车生产DV与PV验证
  • MongoDB培训文档大纲(超详细)
  • 基于大模型的子宫平滑肌瘤全周期预测与诊疗方案研究
  • 第4章 递推法
  • 动态规划之完全背包
  • C++ -- 哈希扩展
  • 探索智能仓颉:Cangjie Magic开发体验
  • 电子电器架构 --- 网关释放buffer的必要性
  • 紫光展锐全新奇迹手游引擎,开启游戏“芯”时代
  • 安卓工程build.gradle中的Groovy的常见知识点
  • linux_进程地址空间(虚拟地址空间)
  • 【背包dp----01背包】例题三------(标准的01背包+变种01背包1【恰好装满背包体积 产生的 最大价值】)
  • MySQL基础关键_010_数据库设计三范式
  • OC语言学习——面向对象(下)
  • 在 R 语言中,data$Age 是一种常见的语法结构
  • taro的学习记录