我在我的表单@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对策。
这种情况有问题吗?
我该如何解决这个问题?
答案 0 :(得分:0)
CSRF检测本质上很难自动检测,并且通常需要某种形式的人工验证来检查警报是否为误报。
Acunetix下面有一篇关于CSRF令牌的非常详细的文章,我建议考虑一下 - https://www.acunetix.com/websitesecurity/csrf-attacks/
如果您需要任何进一步的详细信息,请与我们联系。