一、CSRF是什么?
CSRF,全称跨站请求伪造(Cross-Site Request Forgery),也被称为XSRF、Sea Surf或Session Riding。它是一个网络安全漏洞,允许攻击者诱使用户执行他们不打算执行的操作。简单来说,就是攻击者欺骗用户的浏览器去执行一些非用户本意的操作。
二、CSRF的攻击原理
用户C在已登录网站A的状态下,访问了攻击者构建的恶意网站B。
网站B诱导用户C的浏览器向网站A发送一个伪造的请求,这个请求包含了用户C在网站A上的认证信息(如Cookie)。
网站A接收到这个伪造的请求后,由于包含了有效的认证信息,就会执行相应的操作,而这个操作是用户C并不知情的。
三、CSRF的常见攻击方式
直接链接方式:攻击者通过诱使用户点击恶意链接,向目标网站发送伪造请求。
图片/资源引用方式:攻击者将恶意请求嵌入到图片、脚本或其他资源引用中,当用户访问页面时,浏览器会自动加载并发送恶意请求。
表单提交方式:攻击者创建一个包含恶意请求的表单,并将其隐藏在一个看似正常的页面中。当用户在该页面上执行某些操作时,浏览器会自动提交表单,从而执行攻击者指定的操作。
四、CSRF的防御方法
验证HTTP Referer字段:通过检查请求的来源地址,判断请求是否来自合法的网站。
在请求地址中添加token并验证:在HTTP请求中以参数的形式加入一个随机产生的token,并在服务器端进行验证。
在HTTP头中自定义属性并验证:通过自定义HTTP头属性来传递验证信息。
五、CSRF的危害
CSRF攻击可能导致个人隐私泄露、机密资料泄露、用户甚至企业的财产安全受损。例如,攻击者可以盗取用户的账号、发送垃圾邮件、进行虚拟货币转账等。
标签:web,HTTP,请求,网站,用户,安全,CSRF,攻击者 From: https://blog.csdn.net/m0_67516554/article/details/139359671