最近,用户数量很广的Z-Blog(Z-Blog是一款架构在ASP平台上的Blog博客程序)就曝出了死循环漏洞,黑客利用该漏洞对Z-Blog程序进行死循环攻击,弹出无数的窗口,导致博客无人访问,博主的心血就会付之东流。下面我们就来仔细分析一下这个问题。
博弈主题:Z-Blog漏洞
技术难度:★★★
重点知识:如何进行死循环攻击
Z-Blog漏洞导致死循环攻击
Z-Blog程序新出的漏洞是存在于1。7版本的FUNCTION/c_function。Asp文件中。这个文件中的程序在处理UBB标签的时候存在漏洞,主要是由于程序中的正则表达式过滤不严格,导致了漏洞产生。
而且由于Z-Blog程序设计上的其他原因,导致了此次的本攻击危害性非常大。通过构造恶意代码,攻击者不仅仅可以通过死循环给使用存在漏洞的Z-Blog博主制造小麻烦,也可以让目标页面执行任意的JS恶意代码,利用恶意代码夺取受攻击网站的所有权限。
小知识:UBB标记是大多数人熟悉的HTML标记的一种变种。它允许用户在文章中添加本来需要HTML标记的功能或风格。即使用户所在的讨论区不允许使用HTML标记,UBB标记仍然可以使用。因为比HTML要求更少的编码技术,有许多用户更愿意使用UBB标记。
模拟Z-Blog死循环攻击入侵
Z-Blog博客漏洞构成的原因听起来很复杂,但是利用过程却非常简单。为了让大家更好的认识到漏洞的危害性,下面我给大家进行一次模拟攻击。
第一步:准备攻击代码
在寻找到合适的测试目标前,我们需要将攻击用的代码准备好。此次我们使用的测试代码只实现死循环弹出窗口的目的,但是通过这个代码的例子,你可以修改添加更为恶意的调取JS脚本的代码,实现跨站夺取权限的目的。
目前,我们使用的死循环弹出窗口的代码相对简单,我们只需要打开系统中自带的写字板程序,然后将下方的死循环弹出窗口代码录入到写字板中(代码如下):[URL][URL]http://=’’style=’c:expression(alert())’[/URL][/URL]
小知识:XSS漏洞会导致Javascript的恶意插入,但它的执行受到很多限制。如果攻击者利用浏览器的漏洞,有可能在用户的计算机上执行命令。因此,就算能够执行命令也只能在客户端。简单地说,XSS漏洞可以触发客户端的其他漏洞。
第二步:搜寻漏洞博客
接下来,我们需要在网上寻找一个仍然存在漏洞的Z-Blog博客。打开浏览器调出Google搜索页面,在搜索输入框中键入“PoweredByZ-Blog1。7”后进行搜索,Google很快会搜索出许多采用Z-Blog程序的博客网站,我们只需要随机的选择一些使用Z-Blog1。7进入即可。
第三步:制造死循环攻击
进入有漏洞的Z-Blog博客之后,我们随意点开博客文章列表中的一篇日志,在打开该日志之后,我们将浏览器滚动条拖至最下方“发表评论”的位置。然后在“发表日志”的名称一栏中随意填写一个名称,并在“验证”中按照提示数字输入正确的验证码。
接下来我们需要在评论的“正文”处将写字板中的代码复制粘贴到其中。点击“提交”按键。在提交完成后,这时还不能够立刻看到攻击效果,我们只需要按键盘中的F5对网页进行刷新,死循环弹出窗口的攻击效果就会显现出来。
此时浏览器中会弹出一个空白的警告窗口,在你点击“确定”后仍然循环往复的弹出,导致用户无法关闭IE浏览器。这就是我们给博主和博客访问者的小麻烦,不过需要提醒一下的是,第一个遇到这个麻烦的可能就是作为测试者的你自己,不过你只需要调出“任务管理器”强行关闭浏览器即可。
用补丁拒绝死循环攻击
针对这个漏洞,Z-Blog官方已经发布了修补的补丁(下载地址:http://www。shudoo。com/bzsoft),然后将在补丁包中解压出来的文件上传至程序的FUNCTION目录下即可。
我们也要把Z-Blog程序中的“PoweredByZ-Blog1。7”进行处理,不要让黑客轻易搜索到。此外,为了保存Blog上的文章,最好用博客中的数据备份功能经常备份数据,也可以做整站下载备份。
