前端安全

(1)跨站脚本漏洞(XSS)

定义:

它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常忽略其危害性。

持久型XSS(Persistent),与非持久型XSS相反,它是指通过提交恶意数据到服务器,通过Web应用程序输出恶意数据输出到页面,持久型XSS多出现在Web邮箱、BBS、社区等从数据库读出数据的正常页面(比如BBS的某篇帖子中可能就含有恶意代码)
非持久型XSS(Non-persistent),即反射型,它是指那些浏览器每次都要在参数中提交恶意数据才能触发的跨站脚本漏洞。


预防措施
  1. 编码:对用户输入的数据进行HTML Entity编码
  2. 过滤:移除用户上传的DOM属性,如onerror等,移除用户上传的style节点,script节点,iframe节点等。
  3. 校正:避免直接对HTML Entity编码,使用DOM Prase转换,校正不配对的DOM标签。

(2)跨站脚本漏洞(XSS)

定义:

CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装成受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。

  1. 对于web站点,将持久化的授权方法(例如cookie或者HTTP授权)切换为瞬时的授权方法(在每个form中提供隐藏field),这将帮助网站防止这些攻击。一种类似的方式是在form中包含秘密信息、用户指定的代号作为cookie之外的验证。

  2. 另一个可选的方法是“双提交”cookie。此方法只工作于Ajax请求,但它能够作为无需改变大量form的全局修正方法。如果某个授权的cookie在form post之前正被JavaScript代码读取,那么限制跨域规则将被应用。如果服务器需要在Post请求体或者URL中包含授权cookie的请求,那么这个请求必须来自于受信任的域,因为其它域是不能从信任域读取cookie的。

  1. 对于web站点,将持久化的授权方法(例如cookie或者HTTP授权)切换为瞬时的授权方法(在每个form中提供隐藏field),这将帮助网站防止这些攻击。一种类似的方式是在form中包含秘密信息、用户指定的代号作为cookie之外的验证。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文连接 https://jkchao.cn/article/59de0283c52d5a4ba98b1f0d X...
    三毛丶阅读 868评论 0 5
  • CSRF定义 CSRF,即(Cross-site request forgery), 中文名为跨站请求伪造。是一种...
    Yixi_Li阅读 480评论 0 1
  • 1.跨站脚本攻击(XSS攻击) XSS(Cross Site Scripting),跨站脚本攻击。XSS是常见的W...
    linqii阅读 1,979评论 0 0
  • 作者:全冠晶食用菌调理\潘映航 天气不好很容易感冒发烧 经过昨天晚上一夜煎熬,一点多、两点多、四点多起了三次床。今...
    短视频制作启航阅读 237评论 0 0
  • 尊敬,敬爱的朱总,尊敬的李老师,智慧的马教授 亲爱的家人们大家好! 这是我第十三天写日精进,今天给大家分享我的进步...
    9b63464b7cd1阅读 105评论 0 0