跨站脚本攻击(XSS)

1 什么是XSS跨站脚本攻击问题?

XSS是跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。

2 举一简单例子

比如我们提供给用户留言的页面,然后我们将用户输入的内容保存到数据库中,下次用户访问时回显用户此前填写的内容,如果用户在输入框中输入一段script标签包裹着的JavaScript脚本,比如:

<script>alert("hello XSS")</script>

如果没有经过任何处理,直接将这端内容回显到页面上:

<html>
	<head>
    	<title>输入内容</title>
    </head>
<body>
    <div id="content"
		<script>alert{"hello,XSS"}</scipt>
</div>
	</body>  
</html>

那么浏览器解析到这段脚本的时候就会执行它,会在页面上出现一个alert弹窗,这就是最简单的XSS攻击的方式

3 XSS攻击的危害

3.1 窃取网页cookie

注入的脚本中通过ducument.cookie获取网页cookie,并将cookie发送给第三方网站

3.2 流量劫持恶意跳转

例:

<script>window.location.href="http://www.baidu.com";</script>

4 如何预防XSS?

  • 对可能存在注入的标签比如

你可能感兴趣的:(前端,xss,前端)