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

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后缀,放行数据包,上传成功。

相关文章:

  • 基于OpenTelemetry的分布式链路追踪Trace‌实现(PHP篇)
  • FlyEnv:优雅直观的跨平台开发环境管理工具
  • vue3+vite项目引入tailwindcss
  • Spark处理过程-转换算子和行动算子
  • 通过vllm部署qwen3大模型以及基于 vLLM 的 OpenAI 兼容 API 接口调用方法总结
  • 详细剖析传输层协议(TCP和UDP)
  • 数据库即服务(DBaaS)领域的最新创新
  • 仿真系统-学生选课管理
  • DBa作业
  • 2021年CVPR文章【Polygonal Building Segmentation by Frame Field Learning】环境搭建
  • 微粉助手 1.1.0 | 专为社交电商用户设计的一站式营销工具,集成了群发消息、智能加好友、清理僵尸粉等功能
  • TextIn ParseX重磅功能更新:支持切换公式输出形式、表格解析优化、新增电子档PDF去印章
  • 【day04】Fibonacci数列 | 单词搜索 | 杨辉三角
  • vue项目部署后部分子页面刷新后403
  • tmpfs和普通文件系统相比有哪些优缺点
  • overflow使用
  • Whistle无权限访问本地文件
  • Go语言中的并发编程--详细讲解
  • Python与C++类型对照及常用操作
  • 如何在24G显存机器上搭建一个超过gpt效果的DeepSeek-R1?
  • “行人相撞案”现场视频公布,法院:表述不当造成误导
  • 巴军事行动致印度70%电网瘫痪
  • 白宫启动“返乡计划” ,鼓励非法移民自愿离开美国
  • 深圳两家会所涉卖淫嫖娼各被罚7万元逾期未缴,警方发催告书
  • 河南省平顶山市副市长许红兵主动投案,接受审查调查
  • “上海之帆”巡展在日本大阪开幕,松江区组织企业集体出展