首页 > 编程知识 正文

csrf和xss的区别及防御,XSS攻击

时间:2023-05-03 22:40:29 阅读:150915 作者:2140

XSS攻击XSS(crosssitescript,跨网站脚本攻击)是一种向网页注入恶意脚本,在用户浏览网页时在用户浏览器上运行恶意脚本的攻击方式

跨网站脚本攻击有两种形式。

反射攻击(让用户单击嵌入恶意脚本的链接以实现攻击目标。 现在,很多攻击者利用论坛和微博发布包含恶意脚本的URL就是这种方式。 )持久攻击)将恶意脚本提交给受攻击站点的数据库,当用户浏览网页时,恶意脚本将从数据库加载到页面中执行,QQ邮箱的初始版本为持久跨站点XSS并不新鲜,但攻击手法不断改进。 主要有两种防止XSS的方法:消毒(转义危险字符)和防止HttpOnly ) XSS攻击者窃取cookie数据。 XSS的预防措施主要有三个:

编码:

对用户输入的数据进行HTML Entity编码。

Encode的作用是转换某些字符,如$var,使浏览器在最终输出中保持相同。 过滤:

删除用户输入的与事件相关的属性。 例如,onerror可以自动触发攻击,也可以是onclick等。 一般来说,过滤不安全的内容。 删除用户输入的样式节点、脚本节点和Iframe节点。 (特别是脚本节点支持跨域。 请务必删除)。 校对

请不要直接解码HTML Entity。 使用DOM Parse转换修改未配对的DOM标签。 CSRF攻击CSRF攻击(Cross Site Request Forgery,伪造跨网站请求)是攻击者通过跨网站请求,以合法用户身份进行非法操作(例如转账或发布)。

CSRF的原理是利用浏览器的Cookie或服务器的Session来窃取用户的身份

由于令牌和验证都具有一次性消费的特点,原理上一致,但验证码是不良的用户体验,如果不需要,请不要轻易使用验证码。 现在,很多网站在短时间内多次提交表单都没有成功后要求提供验证码,可以获得良好的用户体验。

CRF如何防御

wxdby,Token验证:(使用最多)

)1)服务器向客户端发送token

)2)客户端提交的表单中包含此token。

)3)如果该token不合法,则服务器拒绝该请求。

方法2 )隐藏令牌(将token隐藏在http的头标中。

方法2与wxdby有点相似,但本质上没有太大的区别。 只是使用方法有差异。

方法三、Referer验证: Referer是页面请求方。 意思是只有接受本站的请求,服务器才会做出响应; 否则,我会拦截。

差异1 :

CRF :用户必须先登录网站a,获得cookie。 XSS :不需要登录。

差异2 ()原理的差异) ) )。

CRF :是利用站点a自身的漏洞,请求站点a的api。 XSS :向网站a注入JS代码,执行JS内的代码,篡改网站a的内容。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。