跨站脚本攻击(XSS)

XSS攻击通常指黑客通过"HTML注入"篡改了页面,插入了恶意脚本,下面演示一个简单的例子:

<?php
$input = $_GET("param");
echo "<div>".$input."</div>";
?>

这个服务端脚本的目的是将用户输入的数据显示到页面中;一般我们随便输入一段文字:桔子桑

页面自然显示:<div>桔子桑</div>;

但是别有用心的人可能会这么输入:<script>alert("hello world")</script>

最后的结果你也应该猜到了,页面并不会像网站设计者所期望的那样。

XSS根据效果不同可以分为如下几类:

1.反射型XSS

反射型XSS只是简单的将用户输入的数据“反射”给浏览器,上面的例子就是这种类型。

2.存储型XSS

存储型XSS是指将恶意用户输入的脚本存到了数据库,当用到这条数据的时候,其中包含的脚本就会执行,并且只要

数据库没有删除,那么这种攻击将一直存在,我们称这种XSS具有很强的稳定性。

3.DOM Based XSS

这种类型的XSS改变了DOM的结构,比如:

<a  href='来自用户输入'>点击</a>

接下来看一段用户输入的数据:

<a  href=''><div>12121212</div><''>点击</a>

你会发现,用户的输入使得a标签提前结束,并插入了自定义的DOM。

猜你喜欢

转载自www.cnblogs.com/eco-just/p/9484905.html