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

相关推荐
果子⌂31 分钟前
Docker-构建镜像并实现LNMP架构
mysql·nginx·docker·容器·架构·php
tomcsdn312 小时前
SMTPman,smtp的端口号是多少全面解析配置
服务器·开发语言·php·smtp·邮件营销·域名邮箱·邮件服务器
此乃大忽悠2 小时前
XSS(ctfshow)
javascript·web安全·xss·ctfshow
Q_Q5110082854 小时前
python的保险业务管理与数据分析系统
开发语言·spring boot·python·django·flask·node.js·php
hrrrrb4 小时前
【TCP/IP】5. IP 协议
网络协议·tcp/ip·php
wkj0014 小时前
php中array($this, ‘loadClass‘)表示啥意思?
android·开发语言·php
CodeWithMe18 小时前
【Note】《深入理解Linux内核》 第十九章:深入理解 Linux 进程通信机制
linux·运维·php
wkj00120 小时前
php7.4使用 new DateTime;报错 Class DateTime not found
php
A5rZ21 小时前
xss利用搜索侧信道 -- GPN CTF 2025 smile-at-me
xss
胆大的21 小时前
XSStrike 进行 XSS 漏洞测试
xss·安全性测试