没有CSRF保护警报的HTML表单(Acunetix)

时间:2017-02-20 07:22:30

标签: asp.net-mvc security

我在我的表单@Html.AntiForgeryToken()中使用并在操作中使用[ValidateAntiForgeryToken]属性,但在通过 Acunetix 测试我的网站时出现此错误:

  

没有CSRF保护的HTML表单

html:

<form action="/Car/SearchCar?uniq=-107215139" method="POST" name="form" id="FormCarSearch">
    <input name="__RequestVerificationToken" type="hidden" value="NpoBFo4bSCwbm0yZ6dIrpOazM00uX-rKNbru9sfVPGV9cJ8qaDsYaAqsRDDKuy0W0R7gCZSVQu_QN2qD8uTeThan7Ad78GNteLdQN2TKPYJUVD3MrxeeT1YG_i4IYaa6zzENb9CKR1p3zcW9HmDNxA2">
    <div class="">
        <h4 class="title">
            جستجوی خودرو :
        </h4>
        <div class="row">
            <div class="form-group col-sm-6 col-md-2 col-md-push-10 col-sm-push-6 ">
                <div class="datepicker-wrap">
                    <label>از تاریخ </label>
                    <input name="CarFormDate" autocomplete="off" id="CarFromDate" type="text" class="input-text full-width hasDatepicker" placeholder="از تاریخ ">
                </div>
            </div>
            <div class="form-group col-sm-6 col-md-2 col-md-push-6 DestinationT">
                <div class="datepicker-wrap">
                    <label>تا تاریخ </label>
                    <input name="CarToDate" autocomplete="off" id="CarToDate" type="text" class="input-text full-width hasDatepicker" placeholder="تا تاریخ ">
                </div>
            </div>
            <div class="form-group col-sm-6 col-md-2 col-md-push-2 col-sm-push-6">
                <label> شهر</label>
                <div class="selector">
                    <select class="full-width" name="CarCity" id="CarCity">
                        <option value="1">کیش</option>
                    </select><span class="custom-select full-width">کیش</span>
                </div>
            </div>
            <div class="form-group col-sm-6 col-md-2 col-md-pull-2 col-sm-pull-6">
                <label>نوع خودرو</label>
                <div class="selector">
                    <select class="full-width" name="CarStyle" id="CarType">
                        <option value="1">سواری</option>
                        <option value="2">شاسی بلند</option>
                        <option value="21">کروک اسپورت</option>
                    </select><span class="custom-select full-width">سواری</span>
                </div>
            </div>
            <div class="form-group col-sm-6 col-md-2 col-md-pull-6 col-sm-push-6">
                <label class="transparent">جستجوی خودرو</label>
                <button class="full-width soap-icon-search" type="button" id="SearchCar">جستجوی خودرو</button>
            </div>
        </div>
    </div>
</form>
  

如何修复此漏洞:

     

检查此表单是否需要CSRF   保护并在必要时实施CSRF对策。

这种情况有问题吗?

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

CSRF检测本质上很难自动检测,并且通常需要某种形式的人工验证来检查警报是否为误报。

Acunetix下面有一篇关于CSRF令牌的非常详细的文章,我建议考虑一下 - https://www.acunetix.com/websitesecurity/csrf-attacks/

如果您需要任何进一步的详细信息,请与我们联系。