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

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

一、分析源代码

可以看出这一关仍然是黑名单验证,但是它禁止了更多的后缀。像php3,php4这类后缀也被加入了黑名单,第三关的方法在这里显然就失效了。那么我们想一想,既然配置文件中存在将php3当作php来执行的功能,那么是否也存在将jpg、png这种后缀名当成php来执行的功能呢?答案是有的。

二、解题思路

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

1.AddType 指令

AddType application/x-httpd-php .html .htm .txt

此行配置是让.html、.htm 和.txt 后缀的文件都被当作 PHP 文件解析。

2.AddHandler指令

AddHandler application/x-httpd-php .html .htm

此行配置是让.html 和.htm 后缀的文件由 PHP 解析器处理。

1和2两个指令的区别是:

AddType 确保文件被正确识别为 PHP 类型。AddHandler 确保 PHP 文件被解析。

3.SetHandler指令

SetHandler application/x-httpd-php

此行配置是让所有文件都当作PHP文件解析。

另外,.htaccess文件提供了针对每个目录改变配置的方法,即在一个特定的目录中放置一个包含指令的文件,其中的指令作用于此目录及其所有子目录。

也就是说,我们可以创建一个.htaccess文件,并写入SetHandler指令,将其上传到服务器保存上传文件的目录,然后上传修改成.jpg后缀的一句话木马。两个文件保存在同一目录下,.jpg就会被当作.php解析,这就是本关的通关思路。

需要注意的是,.htaccess文件可能会处于未启用状态,需要进入httpd.conf配置文件中将其启用。在httpd.conf配置文件中,AllowOverride none表示未启用状态,AllowOverride all则表示启用状态。

三、解题步骤

1.启用.htaccess文件

进入httpd.conf配置文件,将none修改为all并保存。

2.编辑.htaccess配置文件

在桌面创建一个txt文件,写入SetHandler application/x-httpd-php指令,保存并重命令为.htaccess。

将.htaccess文件进行上传,其成功被保存在upload目录中,那么此目录中的所有文件将被当作php解析。

3.上传一句话木马并验证

将一句话木马的文件后缀改成jpg再上传,显示上传成功。


测试木马是否能被当作php解析,结果显示成功。

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

相关文章:

  • zdir3个人网盘dockerfile打包
  • 202534 | KafKa简介+应用场景+集群搭建+快速入门
  • 大模型微调终极方案:LoRA、QLoRA原理详解与LLaMA-Factory、Xtuner实战对比
  • 绑定 SSH key(macos)
  • uniapp-商城-49-后台 分类数据的生成(方法加精)
  • 【计算机视觉】OpenCV实战项目:FunnyMirrors:基于OpenCV的实时哈哈镜效果实现技术解析
  • Checkmk实战指南:从零构建企业级监控系统
  • 字节:增强LLM角色区分能力
  • 第十八章,入侵检测/防御系统(IDS/IPS)
  • mysql-8.0.30-winx64 Install/Remove of the Service Denied!
  • 互联网大厂Java求职面试实战:Spring Boot微服务与数据库优化详解
  • Java云原生到底是啥,有哪些技术
  • DA14585墨水屏学习
  • 电子电器架构 --- 新能源高压上下电那点事一文通
  • 浅谈装饰模式
  • 旅游推荐数据分析可视化系统算法
  • 数据结构中的栈与队列:原理、实现与应用
  • C++学习-入门到精通-【6】指针
  • 【AI智能推荐系统】第七篇:跨领域推荐系统的技术突破与应用场景
  • [RoarCTF 2019]Easy Calc1
  • 【许可证】Open Source Licenses
  • 异地多活单元化架构下的微服务体系
  • 某某文KU下载工具,请低调再低调使用!
  • Hadoop 2.x设计理念解析
  • 【大模型】使用 LLaMA-Factory 进行大模型微调:从入门到精通
  • AI 驱动数据库交互技术路线详解:角色、提示词工程与输入输出分析
  • Linux——Mysql索引和事务
  • 【验证码】⭐️集成图形验证码实现安全校验
  • Linux进程管理
  • journalctl使用