我创建一种使用用户名和密码的登录表单。我还在表单中添加了一个csrf字段。但是每当我在登录时在burpsuite工具中拦截请求时。我可以在请求参数中看到xsrf令牌,尽管xsrf令牌已更改,但登录成功,但我对其进行了更改并转发了请求并退出了拦截。因此,我认为没有对xsrf令牌的验证。
这是代码:
<form id="form-validation" name="form-validation" method="POST" action="/login">
{{ csrf_field() }}
<input id="validation-userName"
name="userName"
type="text">
<input id="validation-password"
name="password"
type="password">
<button type="submit" class="btn" name="login" value="login">Sign In</button>
</form>
如何验证xsrf令牌,因此,如果我更改xsrf令牌,则登录失败。
答案 0 :(得分:0)
首先,根据您使用的laravel版本,在表单刀片模板中包含隐藏的csrf输入的新方法是:
@csrf
第二,验证本身发生在VerifyCsrfToken
中间件中。看看this。也许您从csrf验证中排除了一些路由。