phpstudy的Apache添加AddType application/x-httpd-php .php .php5配置无效的处理方式

前言

最近在学习安全竞赛ctf相关的内容,使用phpstudy作为服务端,研究图片上传相关漏洞的靶场upload-labs。其中遇到后缀名过滤,会过滤后缀名php。按照网上的处理方式,只需要在Apache服务器的配置文件中增加"AddType application/x-httpd-php .php .php5",就可以让服务器识别php5后缀名的文件,然后上传后缀为php5的文件绕过后缀名检查。但是我尝试了之后无效。

原因

因为phpstudy中的php版本都是nts后缀,这些版本添加"AddType application/x-httpd-php .php .php5"配置都会无效。所以要使用ts后缀的版本

解决方案

1、在php官网windows.php.net - /downloads/releases/archives/下载Thread Safe的版本。

比如我下载了这个版本。

2、在后"phpstudy安装目录/Extensions/php/"下,新建php7.4.0ts,把下载的php版本解压到目录里面。

3、复制php.ini-development文件,并改名为php.ini

然后打开php.ini进行编辑,删掉extension_dir前面的分号注释,改为phpstudy安装目录/Extensions/php/php7.4.0ts/ext/

4、修改apache配置文件,phpstudy安装目录/Extensions/Apache2.4.39/conf/httpd.conf,在一堆loadmodule的地方最后加上两行:

LoadModule php7_module "phpstudy安装目录/Extensions/php/php7.4.0ts/php7apache2_4.dll"

PHPIniDir "phpstudy安装目录/Extensions/php/php7.4.0ts"

5、现在再按照之前网上教程在添加<IfModule mime_module>模块下添加"AddType application/x-httpd-php .php .php5"即可。

相关推荐
独隅20 分钟前
在 Lua 中,你可以使用 `os.date()` 函数轻松地将时间戳转换为格式化的时间字符串
开发语言·lua
思麟呀1 小时前
Linux的基础IO流
linux·运维·服务器·开发语言·c++
星释1 小时前
Rust 练习册 :Pythagorean Triplet与数学算法
开发语言·算法·rust
星释1 小时前
Rust 练习册 :Nth Prime与素数算法
开发语言·算法·rust
lkbhua莱克瓦242 小时前
Java基础——集合进阶3
java·开发语言·笔记
GM_8282 小时前
从0开始在Go当中使用Apache Thrift框架(万字讲解+图文教程+详细代码)
rpc·go·apache·thrift
多喝开水少熬夜2 小时前
Trie树相关算法题java实现
java·开发语言·算法
QT 小鲜肉2 小时前
【QT/C++】Qt定时器QTimer类的实现方法详解(超详细)
开发语言·数据库·c++·笔记·qt·学习
lsx2024063 小时前
MySQL WHERE 子句详解
开发语言
Tony Bai3 小时前
【Go模块构建与依赖管理】09 企业级实践:私有仓库与私有 Proxy
开发语言·后端·golang