一: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 结构,基于客户端
参考:
文章来源:https://www.toymoban.com/news/detail-637352.html
XSS 攻击和 CSRF 攻击各自的原理是什么?两者又有什么区别?以及如何防范?_csrf攻击和xss攻击_gqkmiss的博客-CSDN博客
文章来源地址https://www.toymoban.com/news/detail-637352.html
到了这里,关于CSRF 攻击和 XSS 攻击分别代表什么?如何防范?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!