二、跨站攻击
XSS又叫CSS(Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者向 Web面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码被执行,从而达到攻击者的特殊目的。XSS属于被动式的攻击,因为其被动且好利用,所以许多人经常忽略其危害性。
一般来说跨站最容易出现的地方在网站的留言版块.攻击者可以构造如<script>alert("test")</script> 的语句。 稍懂JS的人知道如果程序员在编写代码时没有过滤掉如</等等 那么只要我们alert一个test直接就可以在IE里执行。
传统的跨站利用方式一般都是攻击者首先构造一个网页,然后在攻击者的另一个空间里面放一个收集cookie的页面接着结合其他技术让用户打开跨站页面 以便盗取用户的cookie从而进行攻击。 如当攻击者要渗透一个站点,攻击者可能首先使简单的HTML 标签如<b>(粗体),<i>(斜体)或<u>(下划线),或者他可能尝试简单的 script标签如<script>alert("OK")</script> 来检测,这样也是很容易检测出跨站漏洞。然而,高明点的攻击者可能用它的 hex 值替换整个字符串。这样<script>标签会以%3C%73%63%72%69%70%74%3E 出现。 另一方面,攻击者可能使用web代理服务器像Achilles会自动转换一些特殊字符如<换成%3C>换成%3E。这样攻击发生时,URL 中通常以hex等值代替角括号。
另外攻击者通过结合其它技术,如社会工程学等,欺骗目标服务器的管理员打开有跨站漏洞的网页。来达到目地 因为跨站漏洞属于被动式攻击方法,所以不被很多人看好。其实不然。精心构造的跨站页面结合攻击者的思维方式和独特的思路一样可以打开胜利之门 。
跨站攻击实例分析:
事例:冠龙科技企业网站系统XSS漏洞利用全过程
所用程序为:冠龙科技企业网站最新版本
首先我们来看程序代码,漏洞出在feedbacksave.asp这个文件,代码如下,如图6
从这段代码可以知道,程序的作者只是用自定义的一个函数htmlencode2来过滤content中出现的一些特殊字符,而其它只是用trim过滤空格。显然XSS漏洞就这样产生了!知道了漏洞,那就行动吧,本地架设好以后就开始啦 。测试版有很多限制,但是后来我在官方测试的时候但XSS漏洞依然是存在的!为了方便 首先我们注册一个新用户,选择留言版块,点我要留言,就可以进入到留言界面了。