您的位置:首页 > 其它

XSS脚本攻击及防御

2015-11-22 13:01 417 查看
最近是学校网页设计大赛作品提交阶段,我们寝室负责作品的部署和展示,室友就一 一对网站进行攻击,比如说,浏览网页死循环出现弹窗至浏览器奔溃,或者跳转网页,删除网页节点,让整个网页变成空白。然后我也学会了几招,最后赶紧处理了自己的网站漏洞,下面我就来分享一下我的经验(原谅室友的不杀之恩,嘿嘿)。

所谓的XSS就是跨站脚本攻击。恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。那么一般在什么地方容易被攻击呢?

在需要用户输入内容并且网页要显示该内容的地方就容易出现XSS漏洞。

这种攻击灵活性强,因为html标签语言是解释性语言,不用考虑编译错误的问题,攻击者可以根据网页的结构,通过自己输入的内容(含标记符)来改变网页的整体结构,达到网页错乱,或者其他问题。

下面我给大家集中不痛不痒的攻击代码:

1、简单弹窗

<script>alert('哈哈!')</script>


显示用户cookie

<script>alert(document.cookie)</script>


我用自己的网站给大家图片演示,

显示弹窗前,我的网页是这样的:



输入脚本:



再次浏览我的网站:



弹窗显示cookie:



2、让用户浏览网页时候自动跳转到你想要的链接

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


或者:

<script language="javascript">
window.location.replace("http://www.baidu.com");
</script>


3、根据网页结构输入标记符让网页结构变乱,如下:

Win10小技巧:</ul>如何<ul>去掉通知区</ul>域网络图</ul>标上的感叹号?


我的网页正常显示:



破坏节点后:



4、获取节点id移除网页的内容

<script>
document.getElementById("hot_news").innerHTML="";
</script>


移除前:



移除后:



5、嵌入网站

<input type="text" value="插入输入框"/>




这里也可以插入更多内容(大小取决于网站数据库中这个字段的大小),这里也是最容易让浏览者上当的,因为攻击者可以在此处移除整个body,然后嵌入一个自己高仿的网站,当用户习惯性点击网页时,用户的cookie信息就被上传到攻击者的服务器。

以上就是简单的攻击,那么要怎么预防上面的情况发生呢?

其实很简单,开发者只需要在后台对输入的数据进行过滤,即替换所有的标记符就可以了。

好了,这些就是我的学习经验,希望对做网站开发的你有帮助,但是切记,不能攻击别人的网站,那样是犯罪。

更多博客请关注博主博客。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: