ColdFusion 强制 CSRF 失败
ColdFusion forcing CSRF to fail
我有一个网站可以在用户登录时检查 CSRF 令牌。表单如下所示
<cfoutput>
<input type="hidden" name="token" value="#CSRFGenerateToken()#" />
</cfoutput>
稍后用
检查
if (framework.getCGIRequestMethod() == "post" && !CSRFverifyToken(rc.token)) {
rc.arMessage.append("<b>Debug:</b> Fail Token");
return;
}
我想验证一下这是否真的在检查。令牌是否过期或超时?在 application.cfc
中更改 this.name=
似乎没有任何作用。 token是基于域名的吗?
我需要测试一下。我不需要自动化测试,只是以某种方式测试它。
要对此进行测试,请使用类似 https://www.getpostman.com/ 的内容。
定位表单的操作页面:
- 创建一个
GET
请求;验证它会抛出错误。
- 创建一个没有
token
字段的 POST
请求;验证它会抛出错误。
- 使用
token
字段创建一个 POST
请求,并且其值与 CSRFGenerateToken()
生成的值不匹配;验证它会抛出错误。
- 使用
token
和正确的值创建一个 POST
请求;验证它是否正确处理。
我有一个网站可以在用户登录时检查 CSRF 令牌。表单如下所示
<cfoutput>
<input type="hidden" name="token" value="#CSRFGenerateToken()#" />
</cfoutput>
稍后用
检查if (framework.getCGIRequestMethod() == "post" && !CSRFverifyToken(rc.token)) {
rc.arMessage.append("<b>Debug:</b> Fail Token");
return;
}
我想验证一下这是否真的在检查。令牌是否过期或超时?在 application.cfc
中更改 this.name=
似乎没有任何作用。 token是基于域名的吗?
我需要测试一下。我不需要自动化测试,只是以某种方式测试它。
要对此进行测试,请使用类似 https://www.getpostman.com/ 的内容。
定位表单的操作页面:
- 创建一个
GET
请求;验证它会抛出错误。 - 创建一个没有
token
字段的POST
请求;验证它会抛出错误。 - 使用
token
字段创建一个POST
请求,并且其值与CSRFGenerateToken()
生成的值不匹配;验证它会抛出错误。 - 使用
token
和正确的值创建一个POST
请求;验证它是否正确处理。