首页 > 其他分享 >【Azure 应用服务】App Servie网站报403 ModSecurity Action错误

【Azure 应用服务】App Servie网站报403 ModSecurity Action错误

时间:2023-03-22 21:11:57浏览次数:56  
标签:cn WAF App Servie ModSecurity application 403 azure

问题描述

App Service 部署应用程序,然后通过App Gateway(WAF) 提供公网访问,但是一直遇见403报错,刷新页面,回退,重新Web页面能缓解403问题。

 

问题分析

通过浏览器F12抓取网络日志(Network Trace)来定位403返回的情况,发现请求返回的Status为 403 ModSecurity Action。

 

搜索“403 ModSecurity Action“关键字,发现它于WAF设置的拦截有关。引用文档:https://docs.azure.cn/zh-cn/articles/azure-operations-guide/application-gateway/aog-application-gateway-qa-waf-invalid-block

如果请求返回的 HTTP Code 是 403,并且 Response Header 是 HTTP/1.1 403 ModSecurity Action,则代表这个请求被 WAF 阻挡。

所以接下来就是查看WAF的日志,查看请求为什么会触发WAF的阻挡规则呢?

 

WAF的日志类似如下:

{
  "instanceId": "ApplicationGatewayRole_IN_***",
  "clientIp": "***.***.***.***",
  "clientPort": "0",
  "requestUri": "/",
  "ruleSetType": "OWASP",
  "ruleSetVersion": "3.0",
  "ruleId": "529404",
  "ruleGroup": "XXXXXXXXXXXXX",
  "message": "SQL Hex Encoding Identified",
  "action": "Matched",
  "site": "Global",
  "details": {
    "message": "Warning. Pattern match \"(?i:(?:\\\\A|[^\\\\d])0x[a-f\\\\d]{3,}[a-f\\\\d]*)+\" at REQUEST_COOKIES:.AspNet.Cookies ....",
    "data": "Matched Data: q0Xf53 found within REQUEST_COOKIES:.AspNet.Cookies: ****************** ...",
    "file": "*********************",
    "line": "850"
  },
  "hostname": "*********.com.cn",
  "transactionId": "97033337381714991745"
}

深入分析日志,可以发现其中包含ClientIP,WAF中配置的RuleId,及具体配置的Message。

 

问题解决

根据配置消息里面的 AspNet.Cookies 内容,推断主要根源就是AspNet.Cookies这个cookie中的内容命中了WAF规则。解决办法有二:

一:通过禁用相关规则Disable掉,但这样也同时失去了该规则对所有请求的防护。

二:可以设置WAF排除对AspNet.Cookies中内容的检查, 如文档<Azure 应用程序网关的 Web 应用程序防火墙排除列表 - Azure 门户 | Azure Docs>中所描述的一样。

 

参考资料

如何快速定位应用程序网关 WAF 功能拦截问题 : https://docs.azure.cn/zh-cn/articles/azure-operations-guide/application-gateway/aog-application-gateway-qa-waf-invalid-block

Web 应用程序防火墙排除列表 : https://docs.azure.cn/zh-cn/web-application-firewall/ag/application-gateway-waf-configuration?tabs=portal#waf-exclusion-lists

WAF exclusion Rule for cookie name : https://learn.microsoft.com/en-us/answers/questions/404390/waf-exclusion-rule-for-cookie-name

 

标签:cn,WAF,App,Servie,ModSecurity,application,403,azure
From: https://www.cnblogs.com/lulight/p/17245433.html

相关文章

  • uniapp使用uni.createSelectorQuery()获取高度为null
    添加定时器后获取setTimeout(()=>{constquery=uni.createSelectorQuery().in(this);query.select('.content').boundingClientRect((data)=>{console.log('da......
  • POJ - 3321 Apple Tree
    原题链接思路答案不好直接维护,所以,我们可以采用DFS序来解决这一问题。设\(l_u\)是以\(u\)为根的子树中最小的时间戳,\(r_u\)是以\(u\)为根的子树中最大的时间戳......
  • uni-app/微信小程序:scroll-view纵向滚动高度自适应flex布局填充剩余高度
    (目录)文档uni-app文档:https://uniapp.dcloud.net.cn/component/scroll-view.html使用竖向滚动时,需要给<scroll-view>一个固定高度,通过css设置height微信文档......
  • uni-app px与rpx的转换
    uniapp尺寸单位px转rpxuniapp尺寸单位uni-app支持的通用css单位包括px、rpx。px即屏幕像素rpx(responsivepixel) 即响应式px,一种根据屏幕宽度自适应的动态单位。以......
  • AndroidApp加密数据明文抓取测试方法——hook方式
    0x00前言在做移动安全的app渗透或者说移动app的漏洞挖掘时,往往会碰到一种情况:好不容易绕过了app的反抓包机制,通过burp抓到了app传输的数据包,这时想对这部分数据做一些爆......
  • 冰雪旅游app开发-专业软件定制开发平台
    冰雪旅游app开发需要哪些功能?1.酒店预订:用户通过简单搜索、筛选功能,就能够轻松找到所需,并且支持按照折扣、价格等进行排序。2.实时天气预报:实时天气预报对于用户来说也是......
  • 智能手表小程序/APP开发,按需定制开发有保障
    智能手表的应用不单单在只是用来观看时间,还可以在用户的日常生活上进行一定的健康检测,智能提醒等。目前发展前景事非常客观的,那么智能手表小程序/APP开发都需要哪些功能呢?......
  • 盲盒APP开发要留意的重点,让你水到渠成
     说起盲盒想必大家不会感到陌生,这种新兴事物深受广大用户群体的喜爱,一些人为此打算开发一个自己的盲盒APP。这就需要我们在开发过程中留意一些重点,今天名锐讯动为大家介......
  • uniapp中easycom用法详解
    Uniapp中的easycom是一种组件自动注册机制,可以让开发者更加方便地使用和管理组件。下面详细介绍下关于easycom使用方法。什么是easycom?easycom是Uniapp框架提供的一种组......
  • Argon creative-tim UI with create-react-native-app
    ReactNativeElements开发环境&生成项目&虚拟机调试&本地生成APK档&虚拟机运行APK档1.0 Argoncreative-timUIhttps://demos.creative-tim.com/argon-pro-rea......