探索黑客技术攻防,实战研究与安全创新

导航菜单

跨站Script攻击方式与防范

在攻击访问网站的客户的时候,黑客往往会利用网站服务器并把它变成自己的帮凶,微软称这种攻击为“跨站Script攻击”。

一、跨站Script的攻击

1、攻击介绍

如果服务器对用户的输入不进行有效的验证,攻击者就会输入一些恶意的HTML代码,当这些HTML代码用于Script程序时,就会被攻击者用来进行破坏,干扰用户正常的浏览网页。

用户在浏览网页的时候经常会出现按钮失效的情况,比如关不掉或者越关闭弹出的窗口就越多。其实这些窗口通常是伴随着Java或生成的失效按钮,被称为鼠标陷阱,而这种情况也通常是管理员不在的时候发生,鼠标陷阱事件是黑客利用跨站Script方法攻击客户的典型范例。

当然,黑客的目的并不是简单的搞恶作剧,窃取用户的资料、破坏用户计算机和服务器系统才是他们的最终目标。

2、简单的攻击举例

根据CERT(公司)的资料,动态输入大致有以下几种形式:URL参数、表格元素、Cookies以及数据请求。下面我们就来分析一下这个只有两个页面的网站,网站名为***.com。第一页使用一张表格或Cookie来获取用户名。在记事本中输入代码。

将上面的代码保存为page1.asp。

再在记事本中输入代码。

7}ZOQ6GJ(ZXOORI1L{@2E]7.png



将这段代码保存为page2.asp,将这两个文件存放到ASP空间中,或者是自己架设ASP服务器,在浏览器中访问pagel页面,然后输入名字并点击“登陆”,当用户正常的输入文字时,一切都显示正常。但如果输入Script代码<script>alet('Hell.');</sript>,,警告标签就会弹出来了。当在下一次访问时,这个警告标签还会出现,这是因为这个Script代码在第一次访问的时候Cookie已经把它记录下来了。

3、用E-mail进行跨站SCript攻击

跨站Script攻击用在列表服务器、UseNet服务器和邮件服务器上特别容易,例如先使用网页神抓抓取一些E-mail地址,用诱惑性或者警告性(比如提醒用户检查模型帐号的情况)的语言提示用户要去做什么,为了方便接收者添加一个超链接,并且在这个链接URL的UserName参数中添加Script代码。如果用户不幸点了链接,就会自动下载里面所带的ActiveX

代码,并在计算机里运行,这样就达到了攻击的目的。


一、防范措施

为了维护广大用户和软件公司的利益,对于跨站Script攻击的防范研究也从来没有停止过,目前主要的防范方法有以下几种。

1、对动态生成页面的字符进行编码这样操作的目的是为了防止黑客更改网站字符设置而轻易的通过防线。

2、对输入进行过滤和限制,可以利用下面的程序

它可以过滤在输人中包含的以下字符:“<”、“>”、“'”、“'”、“%”、“;”、“(”、“)”、“&”、“+”、“-”,对于位数的限制也可以很好的限制长程序的输人。

3、使用HTML和URL编码

对动态页的编码总是使用HTML和URL,这是为了对付邮件攻击。微软推荐对所有的动态页面输入和输出都应进行编码,在数据库数据中存入和取出时也应该如此,这样用户就能在很大程度上避免Script的攻击了。

本文为网络安全技术研究记录,文中技术研究环境为本地搭建或经过目标主体授权测试研究,内容已去除关键敏感信息和代码,以防止被恶意利用。文章内提及的漏洞均已修复,在挖掘、提交相关漏洞的过程中,应严格遵守相关法律法规。

相关推荐