CSRF 攻击和 XSS 攻击分别代表什么?如何防范?

一:PHP

  1. CSRF 攻击和 XSS 攻击分别代表什么?

1.CSRF攻击

1.概念:

CSRF(Cross-site request forgery)跨站请求伪造,用户通过跨站请求,以合法身份做非法的事情

2.原理:

1.登录受信任网站 A,并在本地生成 Cookie。(如果用户没有登录网站 A,那么网站 B 在诱导的时候,请求网站 A 的 api 接口时,会提示你登录)。

2.在不登出 A 的情况下,如果 A 网站存在 CSRF 漏洞,此时 B 网站给 A 网站的请求(此时相当于是用户访问),A 网站会认为是用户发的请求,从而 B 网站就成功伪装了你的身份,因此叫跨站请求伪造。

3.防范:

1.Token 验证

2.Referer 验证:Referer 指的是页面请求来源。意思是只接受本站的请求,服务器才做响应;如果不是,就拦截。

2. XSS攻击

1.概念:

XSS(Cross Sit人 Scripting):跨域脚本攻击。

2.原理:

不需要你做任何的登录认证,它会通过合法的操作(比如在 url 中输入、在评论框中输入),向你的页面注入脚本(可能是 JS、html 代码块)。

3.防范:

1.编码:对用户输入进行编码。

2.过滤 :移除用户输入和事件相关的属性。(过滤 script、style、iframe 等节点)

3.校正:使用 DOM Parse 转换,校正不配对 DOM 标签。

4.HttpOnly:HttpOnly属性是Set-Cookie HTTP 响应标头的可选属性,由 Web 服务器在 HTTP 响应中与网页一起发送到 Web 浏览器。下面是使用Set-Cookie标头设置会话 cookie 的示例:

复制代码
HTTP/2.0 200 OK
Content-Type: text/html
Set-Cookie: sessionid=QmFieWxvbiA1

上面的会话 cookie 不受保护,可以在 XSS 攻击中被盗。但是,如果会话 cookie 设置如下,则可以防止使用 JavaScript 访问它:

复制代码
Set-Cookie: sessionid=QmFieWxvbiA1; HttpOnly

4.分类:

反射型(非持久):点击链接,执行脚本

存储型(持久):恶意输入保存数据库,其他用户访问,执行脚本

基于 DOM:恶意修改 DOM 结构,基于客户端

参考:

XSS 攻击和 CSRF 攻击各自的原理是什么?两者又有什么区别?以及如何防范?_csrf攻击和xss攻击_gqkmiss的博客-CSDN博客

相关推荐
唐青枫36 分钟前
别把后续动作全塞进控制器:Symfony 事件监听器与订阅者实战
php·symfony
新鲜势力呀1 小时前
PHP 消息队列实战:从同步接口阻塞到 RabbitMQ + Redis队列 + 异步任务架构完整优化方案
redis·rabbitmq·php
新鲜势力呀4 小时前
PHP 日志系统实战:从排查线上故障困难到 ELK日志分析 + 链路追踪 + 实时监控完整架构方案
elk·架构·php
事圆则缓8 小时前
Kotlin Flow、StateFlow、SharedFlow 全解析:冷流、热流与 Android 状态管理
android·kotlin·php
汤米粥8 小时前
后端开发主流技术方案
java·python·golang·php·nodejs·后端开发
在猴站学算法8 小时前
(实战)PHP文件包含漏洞
网络安全·php
谢亮_vipxieliang9 小时前
PHP 8 新特性:构造器属性提升与实战
开发语言·后端·php
Highcharts.js10 小时前
动态数据可视化架构:Highcharts + PHP + MySQL 从数据库到数据渲染
数据库·mysql·php·开发文档·实时数据·highcharts·图表开发
专业程序开发源10 小时前
springboot校园志愿者管理系统28562-计算机课程设计、毕业设计
java·spring boot·后端·python·django·php·课程设计
Days20501 天前
全网去水印1.0.0源码发布
php