免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 网站相关 > 网站安全 > Message Kangle Error xss代码注入漏洞

Message Kangle Error xss代码注入漏洞

时间:2012-03-14 19:09来源:未知 整理:寂涯网络 点击:

Kangle是一款由国人自己开发的轻量级Web Server程序,据猜测,它最终的开发效果是要达到与Nginx—样,这是值得鼓励与支持的事情。在这款产品不断改进提升的过程中, 我们也发现了不少问题,其中很多问题是已知那些web server程序也犯过的错误,在最近一次测试中,我们同样发现了一个安全漏洞,这里将其拿出来与大家一起分享,请不要利用该漏洞进行任何违法行为,我们需要研究的是安全技术本身。
对于所有的Web Server来说,当用户提交给服务器一个不正确或者无法解析的请求 时,Web Server会返回给用户一个错误提示信息即“ErrorMessage”。我们熟知的“Error Message"都是由统一数字代号所规范的,如403号错误代表着访问被禁止,404号错误代表着访问内容不存在等等。图1就是Apache程序在处理404号错误时给出的“Error Message”,如图1所示。
图1
一般来讲,Web Server反馈给用户的“Error Message”只起到错误性质的归类,浏 览器可以根据这些错误代号来给用户一个明确的错误提示说明,假设恥匕36^打返回404 号错误,那么浏览器接收到该错误代号后,就可以显示出一段文字给用户“您输入的网址有误,请重新输入”。当然,浏览器也可以不处理这些错误代号,而是将Web Server的“Error Message”原原本本的显示给用户。这个时候,如果“ErrorMessage”中存在有产生错误的 具体信息,这就意味着,用户提交的错误内容可以进入到“Error Message"本身,这在一定程度上就会导致安全漏洞的发生。不信,我们可以看一看Kangle是怎么处理“Error Message” 的。
我们这里测试的Kangle版本为2.4.2,当我们向该Web Server提交一个不存在的文件网址 “ceshi.asp” 后,Kangle给出了一个 “Error Message'如图2所示。
图2
在图2中我们看到Kangle将我们提交的URL地址清晰地 地显示在了”Error message“当中。现在,我们提交一个新的url地址,请大家注意看效果,如图3
图3
你是不是十分惊讶,浏览器竟然弹出一个带有“hack you”字眼的对话框。点击“确定”后,浏览器显示的错误信息是不完整的,如图4所示。

图4
我们提交给 Kangle 的 URL 地址是 “http://192.168.1. 10/<script>alert (’ hack%20you!')</script>",这是一个错误的网址,因为ip地址后的那段代码是一段脚本代码,根本不是什么文件和目录的意思,这种错误的URL地址请求,按照道理Kangle应该像图2那样将 “〈script>alert(’hack%20you!’)〈/script>” 这段代码显示在 “Error Message” 当中。 注意,你分析的很对,当Kangle将我们放置在URL地址中的脚本代码当做出错内容回显在 "Error Message”中时,漏洞发生了,脚本代码被浏览器顺利执行了!
由于Kangle对出错信息并没有采用任何安全过滤手段,这就造成我们可以借助提交错误以请求来将任意脚本代码植入到”error Message“,从来实现攻击用户的目的。 最常用的利用方法就是在一个正常的网站中插入带有脚本代码的URL地址,这个URL地址的服务器是由Kangle提供服务的。然后,诱骗用户点击该url地址,这时,脚本代码就会被 执行,用户就会遭受到攻击。
在测试中,我们发现一个问题,kangle对url地址中的“//”或者“\/”、“\\”都过滤成“/”,这样的话,如果我们想要插入类似这样的脚本代码“<script>location='http://192.168.1.2’;〈/script>”,最终插入到 “Error Message” 的脚本代码却变成了 “〈scri pt>location=’http://192.168.1.2’;〈/script>”。所以,我们需要换个思路,利用document.write来实现输出“//”符号。这样的我们新的URL类似这样:http://192.168. 1.10/<script>document. write(〃〈script>location=’ http:/"%2b"/www.baidu.com' ;〈〃%2b〃/scrip t〃%2b〃>〃)〈/SCript>。在该口虬地址中,我们利用%2b即加号来分批输出“//”符号,这样 我们就可以实现在"Error Message"植入任何脚本代码。在漏洞发现后,我们对Kangle 的官方站点也进行了安全测试,测试发现,Kangle的官方站点采用的是Kangle 2.6版本, 测试开始似乎发现上述xss漏洞已经被修复,因为Kangle16 2.6版本对“Error Message”的内容进行了重新编码,导致脚本代码无法正确执行,但是,经过多次测试,我们还是找出了绕过安全编码重新执行xss脚本的方法,待官方确认修复后,我们将公布给读者,读者也可

本页地址 http://www.jybase.net/wangzhananquan/20120314798.html

百度搜索更多

谷歌搜索更多

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com