Git Product home page Git Product logo

arbitrary-php-extension's Introduction

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.hREQUEST_NAME的值:

void pre_request(TSRMLS_D);

#define REQUEST_NAME "please_edit_it"

再重新编译扩展即可。

支持

二进制文件仅支持在Linux下使用,Mac或Windows等操作系统,请自行编译。

LICENSE

ArbitraryPHP遵循MIT开源协议发布。

arbitrary-php-extension's People

Contributors

phith0n avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.