面试题杂记01-crsf和xss是什么
Posted 搬砖糖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试题杂记01-crsf和xss是什么相关的知识,希望对你有一定的参考价值。
一. crsf
跨站请求伪造攻击,即攻击者盗用你的身份,以你的身份去发送恶意请求修改你的资料信息
crsf攻击过程
- 用户使用账号密码正常登录A网站,A网站自然会生成自己的cookie - 用户未退出A网站的情况下,在同一个浏览器中打开新Tab登录B网站 - 网站B在打开后发送恶意请求访问第三方A网站 - 浏览器在不知情情况下,根据B网站请求,携带A网站的cookie向A网站发送请求,导致A网站做出错误决定响应请求,攻击成功
crsf防御
- 验证 HTTP Referer 字段
根据 HTTP 协议,在 HTTP 头中有一个字段叫 Referer,它记录了该 HTTP 请求的来源地址。黑客的请求Referer地址指向他自己的网站,这样我们验证是不是A网站发出的请求就可以防御crsf攻击
缺点:Referer字段依赖第三方浏览器,不能保证浏览器自身是否有漏洞导致字段被更改- 在请求地址中添加 token 并验证
每次请求都添加一个token在请求中,放在url或者POST请求中以参数形式传递,后台验证token,如果不对就拒绝
缺点:token也可以被伪造或者被获取,也会透过Referer泄露在 HTTP 头中自定义属性并验证
- 在Http请求头中添加自定义属性,上面token也可以放入请求头中
二. XSS
- 跨站脚本攻击,攻击者在网站中加入一些恶意script代码,用户访问时会执行对于代码
- 反射型XSS,即非持久攻击,在服务器中插入一些代码,访问时带给用户,并在网站中执行
- 存储型XSS,将恶意代码上传或存储到服务器中,下次只要受害者浏览包含此恶意代码的页面就会执行恶意代码
- SQL注入,在SQL语句中添加相应的SQL语句修改数据库数据
防御:
前端,对传递的数据都要进行转义。 后端也要过滤相应的数据,防SQL注入是后端常用操作,不太了解就不说了
以上是关于面试题杂记01-crsf和xss是什么的主要内容,如果未能解决你的问题,请参考以下文章