为了顺应当前形势和更好的发展,黑基网已于9月19日正式更名为【安基网】,域名更换为www.safebase.cn,请卸载旧的APP并安装新的APP,给您带来不便,敬请理解!谢谢

黑基Web安全攻防班
安基网 首页 IT技术 安全攻防 查看内容

驳最近出现的风讯4.0漏洞

2009-2-4 02:26| 投稿: security

摘要: 首先我要说明的是,我驳这个漏洞,只是针对这个事情而言,不是针对某个人。只希望借这个事情告诉大家,技术这个东西不只靠的是理论,还要靠实践,就像找漏洞一样,不是你看到这个地方似乎过滤得不严了,然后这个地方...
首先我要说明的是,我驳这个漏洞,只是针对这个事情而言,不是针对某个人。只希望借这个事情告诉大家,技术这个东西不只靠的是理论,还要靠实践,就像找漏洞一样,不是你看到这个地方似乎过滤得不严了,然后这个地方就存在漏洞,然后想当然的写出漏洞利用方法。也许更多的牛人也都没去实践,可能就初略看了一眼,就争相转载。发布漏洞。 现在我们先来看看我手上拿到的介绍风讯4.0漏洞的版本。 以下是对方的文章: 文章标题:风讯4.0未公开Bug文章作者:WhyTt漏洞发现时间:2006年10月24日个人Blog:http://why_tt.mblogger.cn //个人个人Blog:http://whytt.mblogger.cn //技术影响版本:ACCESS和MSSQL 前段时间网上流行的SQL注入是利用伪造代理IP来实施攻击,这个HTTP_X_FORWARDED_FOR在一段时间内倍受人们关注,今天在看风讯4.0 的时候也发现这样一个注入点,可笑的是程序员是考虑到对HTTP_X_FORWARDED_FOR的过滤,但是在带入查询时,好象是忘记把过滤的变量带入,而直接带入了没过滤的VisitIP。 下面是分析代码: 在Stat/Index.asp文件中第18行, VisitIP = request.ServerVariables("HTTP_X_FORWARDED_FOR") 直接把HTTP_X_FORWARDED_FOR赋值给VisitIP变量 在文件第61行中 EnAddress = EnAddr(EnIP(VisitIP))这里用了2个函数对VisitIP进行过滤,但是看最后的赋值却给了EnAddress这个变量,而下面第62行的查询却又直接带入的是没有过滤的VisitIP变量,所以在这里就可以对其进行SQL注入。Set RsCouObj = Conn.Execute("select ID from FS_SS_Stat where IP='"&VisitIP&"'") 在这个文件中又有多处查询用到VisitIP这个变量,其补救方法也很简单,就是把EnAddress = EnAddr(EnIP(VisitIP))改成VisitIP=EnAddr(EnIP(VisitIP)) 这里可以通过抓包在数据包中增加 HTTP_X_FORWARDED_FOR:123'+and+user>0-- 这样来注入,如果在access版本中,那么就可以通过 HTTP_X_FORWARDED_FOR:123'+and+1=1+and+'1'='1这样的形式来注入 其中可以用union来暴字符内容。 OK,具体就等你来实现吧,多动手。 BYWhyTt 原作者是WHYTT!他也在群里,论坛帐号是伯虎,进不了牛X版。。。。刺头方便就给他开通下权限吧... 以上是对方的文章。 首先我们来看看stat/index.asp这个文件。先说他的第一个错误。第一EnAddr(EnIP(VisitIP))这个过程确实没有把值赋给VisitIP,但是:EnIP这个过程,好象作者并没有注意到!!我把这个过程贴出来大家看看。function EnIP(ip)dim ip1,ip2,ip3,ip4ip=cstr(ip)ip1=left(ip,cint(instr(ip,".")-1))ip=mid(ip,cint(instr(ip,".")+1))ip2=left(ip,cint(instr(ip,".")-1))ip=mid(ip,cint(instr(ip,".")+1))ip3=left(ip,cint(instr(ip,".")-1))ip4=mid(ip,cint(instr(ip,".")+1))EnIP=cint(ip1)*256*256*256+cint(ip2)*256*256+cint(ip3)*256+cint(ip4)end function EnIP(VisitIP),其实只要VisitIP不是一个包含3个点且3个点分割的4个字符串不是数字。那么,程序就会在cint或者left处爆运行的错误,程序运行到这个位置的时候就停了。后面的代码都不会执行了?何来注入? 再看看第二个错误:提交的参数错误。原文的原话如下:"这里可以通过抓包在数据包中增加 HTTP_X_FORWARDED_FOR:123'+and+user>0--"任何一个玩过HTTP头注入的人,应该都会明白的知道,他这样提交的参数。根本就不能获得。所以我又一次说作者没有经过实践。。 第三个错误。stat/index.asp这个文件中的代码中有一个很严重的语法错误。这个文件根本就是不能运行的。何来注入?? 其实风讯4.0中确实有HTTP_X_FORWARDED_FOR的伪造注入。不过不是在这个地方。在投票那里。有兴趣的朋友自己去看吧。。 再一次说明一下,我这个文章对事不对人。我发这个文章只是想说这个东西确实是没有经过实践的。我不想攻击哪个人,请被驳的作者也不要来批判我。对于技术,本来就应该保持一个更严谨的态度?难道不是吗?另外,技术不是秘密,应该共享,但是涉及到一个漏洞的问题请作者在发出来前,还是三思而后行。  

小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册黑基账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!



免责声明:本文由投稿者转载自互联网,版权归原作者所有,文中所述不代表本站观点,若有侵权或转载等不当之处请联系我们处理,让我们一起为维护良好的互联网秩序而努力!联系方式见网站首页右下角。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

最新

返回顶部