由于X-ORIGINAL-URL标头,Cloudflare使用403阻止了我们的“子域之间” URL重写CVE-2018-14773

问题描述

问题:如何在Azure ARR中删除 X-ORIGINAL-URL 标头?

由于X-ORIGINAL-URL标头(CVE-2018-14773),Cloudflare用403阻止了我们的“子域之间” URL重写。

我们正在使用applicationHost.xdt文件,并在web.config中重写规则。

规则是:

<rule name="Rule" stopProcessing="true">
    <match url="^(ab|cd|ef|gh)/(.*)" />
    <conditions logicalGrouping="MatchAny">
        <add matchType="Pattern" input="{HTTP_HOST}" pattern="^sub\.domain\.com$" />
    </conditions>
    <serverVariables>
        <set name="HTTP_X_ORIGINAL_ACCEPT_ENCODING" value="{HTTP_ACCEPT_ENCODING}" />
        <set name="HTTP_ACCEPT_ENCODING" value="" />
    </serverVariables>
    <action type="Rewrite" url="https://sub.{R:1}.domain.com/{R:2}" appendQueryString="false" logRewrittenUrl="true" />
</rule>

applicationHost.xdt:

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
    <system.webServer>
        <proxy xdt:Transform="InsertIfMissing" enabled="true" preserveHostHeader="false" reverseRewriteHostInResponseHeaders="false" />
    </system.webServer>
    <location path="%XDT_SITENAME%" xdt:Locator="Match(path)">
        <system.webServer xdt:Transform="InsertIfMissing">
            <httpProtocol xdt:Transform="InsertIfMissing">
                <customHeaders xdt:Transform="InsertIfMissing">
                     <add xdt:Transform="Remove" /> 
                </customHeaders>
            </httpProtocol>
            
            <rewrite xdt:Transform="InsertIfMissing">
                <allowedServerVariables xdt:Transform="InsertIfMissing" >
                    <add name="HTTP_X_ORIGINAL_HOST" xdt:Transform="InsertIfMissing" />
                    <add name="HTTP_HOST" xdt:Transform="InsertIfMissing" />
                    <add name="HTTP_X_ORIGINAL_ACCEPT_ENCODING" xdt:Transform="InsertIfMissing" xdt:Locator="Match(name)" />
                    <add name="HTTP_ACCEPT_ENCODING" xdt:Transform="InsertIfMissing" xdt:Locator="Match(name)" />
                </allowedServerVariables>
            </rewrite>
        </system.webServer>            
    </location>
</configuration>

Cloudflare日志(部分):

{
    "key": "rule_message","value": "Drupal,Wordpress - Anomaly:Header:X-Original-Url,Anomaly:Header:X-Rewrite-Url - CVE:CVE-2018-14773"
},

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...