【Amazon 实验②】使用Amazon WAF做基础 Web Service 防护之自定义规则

news/2024/10/18 8:31:28/

文章目录

  • 1. 自定义规则
    • 1.1 介绍
  • 2. 实验步骤
    • 2.1 测试
    • 2.2 输出

上一篇章介绍了使用Amazon WAF做基础 Web Service 防护中的Web ACLs 配置 & AWS 托管规则的介绍和演示操作 【Amazon 实验①】使用Amazon WAF做基础 Web Service 防护,本篇章将继续介绍关于自定义规则的设置。

1. 自定义规则

1.1 介绍

WAF支持创建自定义请求处理规则。这对于添加与特定应用程序相关的逻辑非常有用。除了自定义规则外,本实验还将介绍逻辑规则语句、请求采样和 Web ACL 容量单位。

创建自定义规则需要在 WAF 控制台中使用规则构建器。

image-20231222104527959

规则允许设置 HTTP 请求的检查对象,例如:

  • Source IP

  • Header

  • Body

  • Query Parameters

规则语句是规则的一部分,用于告知 AWS WAF 如何检查 Web 请求, 逻辑运算例如:

  • AND

  • OR

  • NOT

AWS WAF 中的每个规则都有一个顶级规则语句,该语句可以包含其他语句。规则语句可以非常简单。规则语句也可能非常复杂。例如,可以有一个语句,该语句将许多其他语句与逻辑 AND、OR 和 NOT 语句(称为逻辑规则语句)组合在一起。

2. 实验步骤

  1. 打开 Web ACL 的 Rules 选项卡,然后从 Add rules 下拉菜单中选择 Add my own rules and rule groups

  2. 给规则起个名字, block-header-and-query-string

  3. 从下拉列表中选择 matches at least one of the statements(OR)

  4. 对于Statement 1使用如下配置,禁止Header里有X-Weak- Spot的请求访问。

image-20231222105745755
image-20231222110547589

image-20231222110622846

2.1 测试

违法parameter请求测试

export JUICESHOP_URL=<Your Juice Shop URL>
export JUICESHOP_URL=djbryp4jxosx1.cloudfront.net
curl -I "${JUICESHOP_URL}?x-sneaky-attack=exploit"

违法Headers请求测试

export JUICESHOP_URL=<Your Juice Shop URL>
export JUICESHOP_URL=djbryp4jxosx1.cloudfront.net
curl -I -H "X-Weak-Spot: Exploit" "${JUICESHOP_URL}"

2.2 输出

HTTP/1.1 403 Forbidden
Server: CloudFront	
Date: Thu, 07 Dec 2023 02:46:41 GMT
Content-Type: text/html
Content-Length: 919
Connection: keep-alive
X-Cache: Error from cloudfront
Via: 1.1 98ca70f529a8725dbdf89b79dad17f6a.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: CMH68-P5
X-Amz-Cf-Id: 0_Cbj2bYNA7HsrMyv4zy8v87SI0runYxsnT_McS7WRQyFGaxrBLQkw==

证明WAF已经有效拦截带有违法参数的请求。

image-20231222110717962


http://www.ppmy.cn/news/1279105.html

相关文章

2024年ICON设计趋势

我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版&#xff0c;欢迎购买。点击进入详情 目录 极简主义 三维形式和现实主义 抽象主义与几何 微交互和动画 艺术装饰 有机和可持续 颗粒感美学 图标设计最佳实践 图标在品牌塑造中的作用 图标是用…

@z-utils开发工具组

地址 和 zzy-javascript-devtools 有什么差别&#xff1f; 算是zzy-javascript-devtools的重构版本&#xff0c;支持之前的所有内容对内&#xff08;开发&#xff09;&#xff1a; 使用rollup重构打包逻辑全自动化打包生成自动生成更新日志以及版本号全自动化生成对应包的rea…

C# SQLite基础工具类

目录 1、安装System.Data.SQLite工具包 2、创建数据库 3、数据库的连接与断开 4、执行一条SQL语句 5、批量执行sql语句 6、返回首行首列值 7、执行sql语句返回datatable 1、安装System.Data.SQLite工具包 2、创建数据库 /// <summary> /// 数据库路径 …

吴恩达RLHF课程笔记

1.创建偏好数据集 一个prompt输入到LLM后可以有多个回答&#xff0c;对每个回答选择偏好 比如{prompt,answer1,answer2,prefer1} 2.根据这个数据集&#xff08;偏好数据集&#xff09;&#xff0c;创建reward model&#xff0c;这个model也是一个LLM,并且它是回归模型&#…

C#中使用OpenCV的常用函数

以下是一些C#中使用OpenCV的常用函数例子&#xff1a; 1. 加载图像&#xff1a; using OpenCvSharp;Mat image Cv2.ImRead("path_to_your_image.jpg", ImreadModes.Color); 2. 显示图像&#xff1a; Cv2.NamedWindow("Image Window", WindowFlags.Nor…

【大数据】NiFi 中的 Controller Service

NiFi 中的 Controller Service 1.Service 简介1.1 Controller Service 的配置1.1.1 SETTING 基础属性1.1.2 PROPERTIES 使用属性1.1.3 COMMENT 页签 1.2 Service 的使用范围 2.全局参数配置3.DBCPConnectionPool 的使用样例4.在 ExcuseGroovyScript 组件中使用 Service 1.Servi…

多级缓存:亿级流量的缓存方案

文章目录 一.多级缓存的引入二.JVM进程缓存三.Lua语法入门四.多级缓存1.OpenResty2.查询Tomcat3.Redis缓存预热4.查询Redis缓存5.Nginx本地缓存6.缓存同步 一.多级缓存的引入 传统缓存的问题 传统的缓存策略一般是请求到达Tomcat后&#xff0c;先查询Redis&#xff0c;如果未…

YOLO同时对图片和标签进行重命名

import osimage_folder /path/to/image/folder # 图像文件夹路径 label_folder /path/to/label/folder # 标签文件夹路径image_files sorted(os.listdir(image_folder)) # 获取图像文件列表并排序 label_files sorted(os.listdir(label_folder)) # 获取标签文件列表并排…