web——upload-labs——第四关——.htaccess文件绕过

先尝试直接上传一个普通的一句话木马

显示此文件不允许上传,这道题并没有提示不允许上传什么后缀的文件,经过尝试,基本上所有后缀能够被解析为php语句执行的文件都不能成功上传。试试正常的图片能不能上传:

我们再来试试图片马能不能正常上传,所谓图片马,就是把木马病毒写到图片内容中,也就是带有木马内容的图片或是以 .png 或 .jpg 结尾的文件,但是文件内容是一句话木马,或其他的木马病毒。

首先,创建一个 yjh.txt ,将一句话木马编辑到文件中然后保存。

可以上传

htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能

通俗点来说,在文件上传类型的题目中,我们就是要利用这个文件,修改服务器的配置,让服务器将文件内容符合php语法的.png结尾的文件解析为php语言去执行。


原文链接:https://blog.csdn.net/2302_80946742/article/details/137714313

首先,创建一个.htaccess文件(文件名必须一致),文件内容为:

SetHandler application/x-httpd-php

这句代码的意思就是告诉服务器,将目录下所有符合php语法的文件内容当做php脚本执行,不管它是什么后缀。

然后将 .htaccess 文件上传到靶机中,修改服务器配置。

右键复制图片链接访问试试看,可以看到403报错,403是无法查看文件的状态码,是存在这个文件,但是无权查看。并不是没有这个文件,如果直接的话没有就是404报错。

然后解题就行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/60802.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Gitcode文件历史记录查看和还原

文件历史记录 文件历史记录用于记录代码文件的更改历史,它允许用户查看文件的不同版本,了解每个版本的修改内容、作者和提交消息。这对于跟踪文件演进、恢复错误更改、审查代码以及了解项目进展都非常有用。 文件历史记录功能提供了以下核心功能&#…

1、C语言学习专栏介绍

引言 欢迎来到C语言专栏学习之旅!C语言作为一种历史悠久且功能强大的编程语言,自其诞生以来,一直在计算机科学领域占据重要地位。 无论是操作系统开发、嵌入式系统、游戏编程,还是高性能计算,C语言都展现出了其独特的…

【学习】HTTP

HTTP 超文本传输协议(HTTP)是一个用于传输超媒体文档(例如 HTML)的应用层协议。它是为 Web 浏览器与 Web 服务器之间的通信而设计的,但也可以用于其他目的。HTTP 遵循经典的客户端—服务端模型,客户端打开…

Visual Studio Code 端口转发功能详解

Visual Studio Code 端口转发功能详解 引言 Visual Studio Code(简称 VS Code)是一个功能强大的源代码编辑器,它支持多种编程语言的语法高亮、智能代码补全、自定义快捷键、代码重构等特性。除了这些基本功能外,VS Code 还提供了…

31-Shard Allocation Awareness(机架感知)

同一机器上,部署多个es节点,防止副本和主分片分配到同一机器上 例如:es节点a、b、c部署在01机器上,节点d、e、f部署在02机器上 es2.4版本配置 a、b、c节点yaml配置:node.rack: aaa d、e、f节点yaml配置&#xff1a…

机器学习【激活函数】

笔记内容侵权联系删 激活函数的概念神经网络中的每个神经元节点接受上一层神经元的输出值作为本神经元的输入值,并将输入值传递给下一层,输入层神经元节点会将输入属性值直接传递给下一层(隐层或输出层)。在多层神经网络中,上层节点的输入在加…

内网、公网(外网)划分

内网、公网(外网)划分 声明! 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章 笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其…

前端神经网络入门(二):如何利用 WebGPU 进行数值计算,实现大规模数据的计算加速?- 边读边按下F12跑代码吧

在 Web 应用开发中,JavaScript 是前端开发者们最常用的语言。然而,当面对大规模数据处理和计算任务时,JavaScript 在浏览器中的执行往往会受到诸多性能瓶颈的限制。幸运的是,WebGPU 的出现,为我们提供了在前端实现高性…

新手教学系列——善用 VSCode 工作区,让开发更高效

引言 作为一名开发者,你是否曾经在项目中频繁地切换不同文件夹,打开无数个 VSCode 窗口?特别是当你同时参与多个项目或者处理多个模块时,这种情况更是家常便饭。很快,你的任务栏上挤满了 VSCode 的小图标,切换起来手忙脚乱,工作效率直线下降。这时候,你可能会问:“有…

Oracle故障处理:ora-12514 与 ora-28547

目录 项目场景 问题分析 问题总结 项目场景 现场同事求助说:有个刚刚部署在Windows上的Oracle11gR2数据库(单机单实例),使用PLSQL工具连接不上。帮忙查看后,发现未装Oracle client,指导其安装完Oracle客…

Kafka基础知识学习

Kafka概念 一、核心组件对照表 组件定义主要功能特点BrokerKafka集群中的服务器节点存储消息、处理请求、管理分区唯一ID,可能成为ControllerTopic消息的逻辑分类单元消息分类、存储组织包含多个Partition,类似数据库表PartitionTopic的物理分片并行处…

【miniMax开放平台-注册安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被机器执行自动化程序攻击,存在如下风险: 暴力破解密码,造成用户信息泄露,不符合国家等级保护的要求。短信盗刷带来的拒绝服务风险 ,造成用户无法登陆、注册,大量收到垃圾短信的…

PC上浏览器是如何查询DNS 缓存的呢?

通过 ipconfig /displaydns 的显示结果可以获取本机的 DNS 缓存信息,那么浏览器是如何获取本机的 DNS 缓存。 答案是:浏览器获取本机的 DNS 缓存主要是通过操作系统提供的接口来获取,。 具体的获取途径如下: 先查询自身缓存&am…

26-ES集群搭建、身份认证配置

虚机搭建 添加es用户 elasticsearch 默认不允许root用户启动,所以需要创建es用户 useradd elasticsearch passwd elasticsearch 解压安装包 #解压es tar -xvzf elasticsearch-7.14.2-linux-x86_64.tar.gz 将文件夹赋予es用户权限 #将文件夹赋予es用户权限 sud…

BuyPass SSL证书:申请免费可用多域名SSL证书6个月180天

目录 一、前沿 二、条件 三、申请流程 四、注意事项 五、总结 一、前沿 找到一个6个月180天的免费证书,目前 BuyPass 提供了类似ZerSSL 等基于 ACME/Certbot 的证书自动签发服务 - BuyPass GO Free SSL,完全免费,只支持单域名、多域名&am…

OpenHarmony的公共事件

OpenHarmony的公共事件 公共事件简介 CES(Common Event Service,公共事件服务)为应用程序提供订阅、发布、退订公共事件的能力。 公共事件分类 公共事件从系统角度可分为:系统公共事件和自定义公共事件。 系统公共事件&#…

【AlphaFold3】开源本地的安装及使用

文章目录 安装安装DockerInstalling Docker on Host启用Rootless Docker 安装 GPU 支持安装 NVIDIA 驱动程序安装 NVIDIA 对 Docker 的支持 获取 AlphaFold 3 源代码获取基因数据库获取模型参数构建将运行 AlphaFold 3 的 Docker 容器 参考 AlphaFold3: https://github.com/goo…

npm list -g --depth=0(用来列出全局安装的所有 npm 软件包而不显示它们的依赖项)

您提供的命令 npm list -g --depth0 是在 Node Package Manager (npm) 的上下文中使用的,用来列出全局安装的所有 npm 软件包而不显示它们的依赖项。 这是它的运作方式: npm list -g --depth0-g: 指定列表应包括全局安装的软件包。--depth0: 限制树形结…

React状态管理之Redux

React状态管理之Redux 在React应用中,状态管理是一个至关重要的概念。随着应用规模的扩大,组件之间的状态共享和更新变得愈发复杂。Redux作为一个专门用于JavaScript应用(尤其是React应用)的状态管理库,提供了一种可预…

Spring Boot框架:电商系统的技术革新

4 系统设计 网上商城系统的设计方案比如功能框架的设计,比如数据库的设计的好坏也就决定了该系统在开发层面是否高效,以及在系统维护层面是否容易维护和升级,因为在系统实现阶段是需要考虑用户的所有需求,要是在设计阶段没有经过全…