XSS 和 CSRF

XSS 和 CSRF

1. XSS

1.1 简介

XSS:跨站脚本攻击(Cross Site Scripting)

发生在目标用户的浏览器层面上的,当渲染 DOM 树的过程发生了不在预期内执行的 JS 代码时,就发生了 XSS 攻击。大多数 XSS 攻击的主要方式是嵌入一段远程或者第三方域上的 JS 代码。实际上是在目标网站的作用域下执行了这段 JS 代码。

攻击者通过注入恶意的脚本,在用户浏览网页的时候进行攻击,比如获取 cookie,或者其他用户身份信息。可以分为存储型和反射型。存储型是攻击者输入一些数据并且存储到了数据库中,其他浏览者看到的时候进行攻击;反射型的话不存储在数据库中,往往表现为将攻击代码放在 url 地址的请求参数中

1.2 防御方式

cookie 设置 httpOnly 属性,它会禁止 javascript 脚本来访问 cookie

② 对用户的输入进行检查,

③ 进行特殊字符过滤

2. CSRF

2.1 简介

CSRF:跨站请求伪造(Cross Site Request Forgery)

字面理解意思就是在别的站点伪造了一个请求。可以理解为攻击者盗用了用户的身份,以用户的名义发送了恶意请求。比如用户登录了一个网站后,立刻在另一个 tab 页面访问量攻击者用来制造攻击的网站,这个网站要求访问刚刚登陆的网站,并发送了一个恶意请求,这时候 CSRF 就产生了,比如这个制造攻击的网站使用一张图片,但是这种图片的链接却是可以修改数据库的,这时候攻击者就可以以用户的名义操作这个数据库。

2.2 防御方式

① 使用验证码,

② 检查 https 头部的 refer

③ 使用 token

浏览器 文章被收录于专栏

浏览器

全部评论

相关推荐

头像
11-21 11:39
四川大学 Java
是红鸢啊:忘了还没结束,还有字节的5k 违约金
点赞 评论 收藏
分享
整顿职场的柯基很威猛:这种不可怕,最可怕的是夹在一帮名校里的二本选手,人家才是最稳的。
点赞 评论 收藏
分享
头像
昨天 14:28
长沙理工大学
刷算法真的是提升代码能力最快的方法吗? 刷算法真的是提升代码能力最快的方法吗?
牛牛不会牛泪:看你想提升什么,代码能力太宽泛了,是想提升算法能力还是工程能力? 工程能力做项目找实习,算法也分数据结构算法题和深度学习之类算法
点赞 评论 收藏
分享
1 1 评论
分享
牛客网
牛客企业服务