粗暴的给你的 php-src 源码加点东西
PS:本文不是研究php-src源码而是直接粗暴的给你一些似乎没啥卵用的结果或是非常有用的结果
*你平常有没有遇到如下情况:
1 接的外包项目做好了,结果对方死活不给钱?
2 xx不发工资,项目做好了
3 当这个 php-src 源码【你加了点东西以后】你可以发挥好多东西
如植入点广告,攻击,监控,调试。。。。
4 其它骚操作 *
5 数据泄露了,服务器无缘无故少了东西,多了东西,服务器无缘无故停止。
当你能加点东西以后,千万不要拿这些小聪明放在公司的项目中使用,也不要做坏事!!!毕竟年轻人还是讲点码德!
【周末无聊写点文档混日子这样子】
fpm 运行调试
1 从 github 下载源码 php-src 【随便哪个版本】
下载源码后,解压
然后根据 INSTALL.md 文件的安装流程【以后记得读 README.md , INSTALL.md 文件,百度只会给你广告】
2然后修改以下文件,加点东西【修改的是 php_cli.c 文件】
3再修改 fm_request.c 添加一些测试代码
上面两个文件修改好以后,在控制终端之下编译安装【什么?不知道什么是控制终端?那你得补一下基础了】
4 然后复制粘贴【 INSTALL.md 】文件里的安装命令进行编译安装,然后要等一小伙儿。
5 然后咱们通过浏览器访问
然后得到如下结果[如果相关概念你不清楚可以联系我,给你点东西康康]
以上呢是我们深度在 php-src 源码里修改相关源码,然后进行编译后写进去的。那么现在我们在测试一下cli模式运行时。是怎么样的。
cli 运行方式测试
./php demo.php 之后,如下结果
这样呢我们的 php 运行在 cli 模式下或是通过浏览器去访问 php-fpm 下的 worker 进程时,我们能获取相关的数据了。
下面呢我暴力点
把 php-fpm 运行时的数据【这里演示对方机器编译安装了 php+nginx ,当对方的应用有用户访问时,会把数据发到我的私人服务器上,我只拿一下它请求的文件名,请求方式,当然对方机器的源码,数据库所有数据,以及各种敏感数据,或者是可以直接控制对方机器,毕竟在源码中我们可以直接使用 c 操作 linux 的一切!】
改好之后,我重新编译安装。
然后测试如下
总结:当你的服务器数据泄露时,如果你对 linux 下开发不熟悉,对 linux api 不熟悉,多进程,网络方面,终端...了解不够深入的话,遇到这种,可能你真的查不出来。
你在 php 脚本中找是不现实的,毕竟别人动了 php-src 源码,比如比较火的 docker ,在里面动手脚也非常容易,并且 docker 查起来更麻烦。