Apache LimitExcept仅限于GET和POST方法

时间:2016-12-01 15:39:44

标签: apache security post get httpd.conf

我在httpd.conf文件中有当前配置。我正在尝试使用HTTP动词篡改删除漏洞身份验证绕过。我只想在下面的示例中允许某些HTTP请求标头,Get和Post,并且不同的标头应该抛出错误。

DocumentRoot "c:/dev"
<Directory "C:/dev">
    Options Indexes FollowSymLinks MultiViews Includes
    AllowOverride Limit
    <LimitExcept GET POST>
      Order deny,allow
     Deny from all
    </LimitExcept>
    Order allow,deny
    Allow from all
</Directory>

此配置仍然允许其他http请求标头,如put,options等。我使用postman api来测试我的更改。请帮忙!

3 个答案:

答案 0 :(得分:2)

这是您可以限制为GET / POST / OPTIONS的方法。注意:NIST Stigs V-26396指出,这不应应用于根目录,而只能应用于我的示例(/etc/apache2/apache2.conf):

enter image description here

这似乎也可以工作:

<Location /var/www/>
        Order allow,deny
        Allow from all
        <LimitExcept POST GET>
           Deny from all
        </LimitExcept>
</Location>

<Location /usr/share/>
        Order allow,deny
        Allow from all
        <LimitExcept POST GET>
           Deny from all
        </LimitExcept>
</Location>

进一步阅读:

答案 1 :(得分:1)

尝试此设置

<Location />
        Order allow,deny
        Allow from all
        <LimitExcept POST GET>
           Deny from all
        </LimitExcept>
</Location>

答案 2 :(得分:0)

LimitExcept指令是Limit指令的反转。它允许对所有列出的http方法应用一组访问限制,但使用LimitExcept指令列出的方法除外。请看这个链接:http://httpd.apache.org/docs/current/mod/core.html#limitexcept。因此访问限制适用于所有http方法,但使用LimitExcept列出的方法除外。

在您的情况下,问题似乎与访问控制指令有关。有关详细信息,请参阅此链接:http://httpd.apache.org/docs/current/mod/mod_access_compat.html#order

您可以尝试删除以下指令