摘要:我把这个领域的东西写成了一个系列,以后还会继续完善下去安全一同源策略与跨域安全二攻击安全三攻击
上文说完了CSRF攻击,本文继续研究它的兄弟XSS攻击。
什么是XSS攻击XSS攻击全名(Cross-Site-Script)跨域脚本攻击,为了跟CSS(Cascading-Style-Sheet)区分开来,所以缩写是XSS。
XSS攻击的原理上一节说道的CSRF攻击是利用的是“伪请求”,这一节的XSS的原理是利用脚本注入的方式。
主要是依靠一切可能的手段,将浏览器中可以执行的脚本(javascript)植入到页面代码中,从而获取用户cookie甚至账号密码等敏感数据使用户造成的一定的损失。
通常利用的是目标网站的发帖、发布产品等需要用户输入的地方,将脚本混淆到html输入中,上传到服务器,再诱导别的用户打开此页面,执行脚本的一个过程。
xss漏洞是对web客户端(浏览器)的攻击,所以说植入的代码基本上以javascript和html标签(有时也有结合css样式的xss向量)为主。
一般有四种方法:
页面标签附带脚本
Dom 属性附带脚本
请求地址附带脚本
回车空格突破过滤限制
举两个小李子:
XSS攻击防御的手段
因为XSS的根本就是向网站插入脚本代码,并使它运行的一种手段。防御方法分为两种,服务端防御和客户端防御。
服务端防御:
1. HttpOnly
可以限制javascript不能读取cookie,防止会话ID泄露
2.处理富文本
过滤掉富文本中的敏感标签如(script、iframe、form),还有敏感词(javascript:) 等等
客户端防御:
1. 输入检查
防止输入敏感字段,如javascript、cookie等等
2. 检查输出
脚本都是通过混淆在HTML当中,被当成html代码的一部分才得到执行。
可以通过编码转义的办法,使得混淆在其中的脚本被当成文本处理,不会被执行。
编码转义的话,有三种方法:
*1. HTML encode* 将字符转换成HTMLEntities,一般会转(&、<、>、"、"、/)这6个字符。一般是在html标签属性输出的时候使用 *2. JavaScriptEncode* 使用”“对特殊字符进行转义。 一般在script标签输出、事件输出、CSS输出 *3. URL Encode* 使用URLEncode的方法。
参考:
XSS的原理分析与解剖
跨站脚本攻击(XSS)——常见网站攻击手段原理与防御
XSS攻击及防御
XSS攻击的解决方法
【相关】
web安全,是一个很重要的技能,也是一个领域的知识。我把这个领域的东西写成了一个系列,以后还会继续完善下去:
web安全一:同源策略与跨域
web安全二:CSRF 攻击
web安全三:XSS 攻击
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/93003.html
摘要:我把这个领域的东西写成了一个系列,以后还会继续完善下去安全一同源策略与跨域安全二攻击安全三攻击 上文说完了CSRF攻击,本文继续研究它的兄弟XSS攻击。 什么是XSS攻击 XSS攻击全名(Cross-Site-Script)跨域脚本攻击,为了跟CSS(Cascading-Style-Sheet)区分开来,所以缩写是XSS。 XSS攻击的原理 上一节说道的CSRF攻击是利用的是伪请求,这...
摘要:最近在学习安全相关的一些知识,目前对安全也只有了一些浅显的理解,下面记录我的一些理解。防御攻击的方法主要是修改数据的接口,尽量使用请求使用同源策略推荐的文章安全之攻击其实还讲了其他的几种方法,但是都没接触过,不太理解,所以没有写下来。 最近在学习web安全相关的一些知识,目前对web安全也只有了一些浅显的理解,下面记录我的一些理解。因为对这一块懂的东西不是很多,有些地方可能写的不对或者...
摘要:三攻击分类反射型又称为非持久性跨站点脚本攻击,它是最常见的类型的。存储型又称为持久型跨站点脚本,它一般发生在攻击向量一般指攻击代码存储在网站数据库,当一个页面被用户打开的时候执行。例如,当错误,就会执行事件利用跨站。 一、简介 XSS(cross site script)是指恶意攻击者利用网站没有对用户提交数据进行转义处理或者过滤不足的缺点,进而添加一些代码,嵌入到web页面中去。使别...
阅读 775·2021-11-24 09:38
阅读 941·2021-11-11 11:01
阅读 3148·2021-10-19 13:22
阅读 1490·2021-09-22 15:23
阅读 2806·2021-09-08 09:35
阅读 2745·2019-08-29 11:31
阅读 2102·2019-08-26 11:47
阅读 1543·2019-08-26 11:44