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博客

相关推荐
两个人的幸福3 天前
Windows 桌面应用自研 PHP 队列(下):完整代码与六大工程化优化
php
BingoGo5 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
JaguarJack5 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
用户3074596982076 天前
PHP 扩展——从入门到理解
php
鹏仔先生7 天前
拷贝漫画APP下载页PHP程序,后台带免费AI写作
php
云水一下7 天前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php
xingpanvip7 天前
星盘接口开发文档:本命盘接口指南
android·开发语言·css·php·lua
酉鬼女又兒7 天前
零基础入门计算机网络运输层:端到端通信核心作用、端口号分类规则、复用分用工作机制及UDP与TCP协议全方位对比详解
网络·网络协议·tcp/ip·计算机网络·考研·udp·php
dog2507 天前
不要再继续优化 TCP
网络协议·tcp/ip·php
Channing Lewis7 天前
PHP 解析 Excel 的那些坑:一次“行号错位”引发的数据丢失
开发语言·php·excel