内容简介:这是一个实验性的PHP扩展,加载这个扩展后,每次请求将可以执行一段自己的PHP代码。可用于:选择对应版本的PHP,下载
ArbitraryPHP - 任意 PHP 代码执行扩展
这是一个实验性的PHP扩展,加载这个扩展后,每次请求将可以执行一段自己的PHP代码。
可用于:
- 管理目标PHP站点
- HOOK与分析HTTP执行流程
- 在不修改源代码的情况下控制PHP执行结果
安装
选择对应版本的PHP,下载 Releases 下的二进制文件安装包,解压并获得相应PHP版本的二进制文件。
执行 php -i |grep extension_dir ,获取扩展目录:
将二进制文件arbitraryphp.so移动到扩展目录中,并修改php.ini,开启这个扩展:
extension=arbitraryphp.so
使用
请求任意一个PHP,在参数 arbitrary_php 中增加任意PHP代码,即可执行:
也可以是POST请求:
使用 AntSword 管理:
从源码编译
你也可以自己编译扩展,首先安装如下软件:
- docker
编译生成5.4~7.2版本下所有扩展:
bash builds.sh
只生成某个PHP版本的扩展:
docker run -it --rm --name uu -v /root/arbitrary-php:/app tuwen/zephir:7.2 bash /app/build-ext.sh
自定义执行参数
如果需要自定义请求参数 arbitrary_php 为其他值,可以修改 arbitraryphp/ext/initial/pre_request.h 中 REQUEST_NAME 的值:
void pre_request(TSRMLS_D); #define REQUEST_NAME "please_edit_it"
再重新编译扩展即可。
支持
二进制文件仅支持在 Linux 下使用,Mac或Windows等操作系统,请自行编译。
LICENSE
ArbitraryPHP遵循MIT开源协议发布。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深入理解C#(第3版)
斯基特 (Jon Skeet) / 姚琪琳 / 人民邮电出版社 / 2014-4-1 / 99.00元
本书是世界顶级技术专家“十年磨一剑”的经典之作,在C#和.NET领域享有盛誉。与其他泛泛介绍C#的书籍不同,本书深度探究C#的特性,并结合技术发展,引领读者深入C#的时空。作者从语言设计的动机出发,介绍支持这些特性的核心概念。作者将新的语言特性放在C#语言发展的背景之上,用极富实际意义的示例,向读者展示编写代码和设计解决方案的最佳方式。同时作者将多年的C#开发经验与读者分享,读者可咀其精华、免走弯......一起来看看 《深入理解C#(第3版)》 这本书的介绍吧!