存储型跨站脚本攻击

XSS

跨站脚本攻击(Cross Site Script, XSS),是最常见的Web应用应用程序安全漏洞之一,也是OWASP 2013 Top 10之一。 XSS通常来说就是在网页中嵌入恶意代码, 通常来说是Javascript,当用户访问网页的时候,恶意脚本在浏览器上执行。

存储型XSS

XSS主要分为三种类型: 反射型XSS存储型XSSDOM型XSS。本文主要阐述的是存储型XSS,简单来说明一下存储型XSS的攻击基本流程:

  • a. 比如在某个论坛提供留言板功能,黑客在留言板内插入恶意的html或者Javascript代码,并且提交。

  • b. 网站后台程序将留言内容存储在数据中

  • c. 然后一个用户也访问这个论坛,并刷新了留言板,这时网站后台从数据库中读取了之前黑客的留言内容,并且直接插入在html页面中,这就可能导致了:黑客留言的脚本本身应该作为内容显示在留言板的,然后此时可能黑客的留言脚本被浏览器解释执行了。。。。

那么黑客的脚本可以用来做哪些坏事儿呢?比如:

  • 通过javascript获取用户的cookie,根据这个cookie窃取用户信息
  • 重定向网站到一个钓鱼网站
  • 重新更改页面内容,假装让客户输入用户名,密码,然后提交到黑客的服务器
  • ……

如果用过早期校内网的应该知道,校内网原先的主页可以通过自定义脚本来定制主页面,后来这个功能取消了,因为这种方式很容易产生XSS漏洞。

Mutillidae中实践存储型XSS

在之前的博客<< OWASP Mutillidae的安装>>中已经介绍过如何搭建Web漏洞实战系统Mutillidae, 本篇就开始用Mutillidae进行存储型XSS的攻击实践。


首先在Mullidae中选择XSS持久型的攻击页面Add to your blog
存储型跨站脚本攻击_第1张图片
然后用账户iceking登录,假设iceking现在就是博主,可以在这个页面添加blog了,添加一个内容为Hello Iceking的博客, 并且点击Save Blog Entry进行保存,此时这篇博客Hello Iceking会保存到后台数据库中。
存储型跨站脚本攻击_第2张图片
然后某个一个网友,去查看了你的博客: 打开查看博客页面,并且选择iceking的Blog。
存储型跨站脚本攻击_第3张图片
存储型跨站脚本攻击_第4张图片
现在Bird用户可以看到Iceking发表的博客内容Hello World:
Blog Content
到这里了怎么还没说到XSS啊?不要着急,现在就开始角色扮演,如果作为一名刚刚上手的黑客,首先要把思路理清楚,这个博客的发表和查看的过程如下:
(1) Iceking写了内容为Hello Iceking的博客,并且提交了博客到服务器
(2) Bird用户访问了Iceking的博客,服务器将博客的内容以表格的形式展现给了Bird
思考时间到了,假设Iceking编写了一段Javascript脚本的内容,这个Javascript脚本内容,也能够展现给访问博客的用户吗?还是编写的Javascript脚本会被浏览器解释执行呢?如果是后者,那么这个博客系统则存在一个XSS漏洞。
那就动手试一试吧,用Iceking编写博客内容为,保存后,然后用Bird账号对这个博客进行访问,发现Bird访问网站的cookie被打印了出来!!!
存储型跨站脚本攻击_第5张图片
这也就表明了,博客的内容为脚本时,被浏览器给解释执行了,说明这个博客系统存在XSS漏洞。上述只是打印出了cookie,如果黑客iceking在博客中嵌入的代码是: 将Cookie发送给自己部属好的服务器,则窃取了用户的cookie信息,并且可以用cookie进一步获取用户的隐私信息。

如果这个黑客利用博客的漏洞直接在里面篡改网页内容,或者插入假冒的用户账户密码输入框,被上当后后果不堪设想。 那么博主就简单演示下,如何在博客中插入百度的主页(当然上述原理明白后,可以分分钟搞定了)。
首先黑客iceking登录博客,并且编写博客内容如下, 然后保存博客:
存储型跨站脚本攻击_第6张图片
这时候Bird网友查看了Iceking的博客内容,我汗,怎么里面是百度的主页了!!!
存储型跨站脚本攻击_第7张图片





以上就是一个简单的存储型XSS漏洞,其实很多的XSS的漏洞相比较而言也不会这么暴露。在XSS漏洞侦测方面,可以通过扫描工具APPScan,Burp Suite等工具进行检测,当然也可以人工的去检查,比如输入<>标签嵌入脚本或者HTML,查看是否被转意。

后续博主也会继续学习反射型XSS,和DOM型XSS, 并且继续深入学习Javascript和XSS的漏洞。接着作为一名程序员,最最重要的是也要继续深入的学习如何防范XSS漏洞

希望以后和网友们一起学习和讨论。

你可能感兴趣的:(软件安全)