XSS&&CSRF

XSS的原理和防范方式

XSS全称Cross Site Scripting即跨站脚本攻击。
恶意用户将恶意脚本装作普通文本的样式上传到服务器,这些文本将被渲染到目标用户的页面上,从而被执行,这样的流程称之为‘跨站脚本攻击’。
举例:有一个发表评论的功能,一个人发表了评论大家就都能看见,于是恶意用户就在这个评论区发表了以下代码:

<script>console.log(document.cookie)</script>

如果这个代码未经过滤直接执行,那么攻击者将会收集所有访问这个评论区的用户的cookie以便执行只有目标用户才有权限做的事情。

通常,我们可以通过以下方式来防止xss攻击:

1. 转义 < > 这些特殊字符为实体字符
2. 利用正则判断攻击脚本
3. 尽量修改节点文本而不是修改节点内容html

CSRF的原理和防范方式

CSRF全称Cross-site request forgery(跨站请求伪造)是指恶意用户将某些需要他人权限的接口埋藏在自己的脚本中,将脚本利用XSS相同的注入方式或诱导用户点击执行等方式令拥有权限者执行,从而达到自己的目的。
例如,恶意用户想要给某个人刷票,而一个微信号只能投一张票,他发现了刷票的接口为A,则将对A进行Ajax请求的XSS脚本注入某网站(方法1),或者利用像色情等吸引眼球的方法(方法2)将此段脚本内嵌入自己写的网页中诱使他人点击,从而实现不断有有效用户访问这个接口的目的。
我们通常可以使用以下手段来防止CSRF攻击:

1. 尽量对要修改数据的请求使用post而不是get
2. 给每一次用户登陆分配一个临时token,用服务端的setCookie头将此token种入用户cookie中,每次请求比对用户方token与服务器端token是否吻合。
3. 服务器禁止跨域请求
4. 及时清除用户的无效cookie

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 客户端(浏览器)安全 同源策略(Same Origin Policy) 同源策略阻止从一个源加载的文档或脚本获取或...
    人在码途阅读 1,834评论 0 8
  • 一、XSS XSS,( Cross Site Script,跨站脚本攻击)其原本缩写是 CSS,但为了和层叠样式表...
    许小花花阅读 2,043评论 0 9
  • 对Web服务器的攻击也可以说是形形色色、种类繁多,常见的有挂马、SQL注入、缓冲区溢出、嗅探、利用IIS等针对We...
    时间会不会阅读 1,207评论 1 45
  • CDN 什么是CDN 初学Web开发的时候,多多少少都会听过这个名词->CDN。 CDN在我没接触之前,它给我的印...
    Java3y阅读 742评论 2 11
  • XSS 攻击 XSS (Cross-Site Scripting,跨站脚本攻击)是一种常见的web安全漏洞,它允许...
    Tuuu阅读 150评论 0 0