首页    新闻    下载    文档    论坛     最新漏洞    黑客教程    数据库    搜索    小榕软件实验室怀旧版    星际争霸WEB版    最新IP准确查询   
名称: 密码:      忘记密码  马上注册
安全知识 :: 专题文章

驳最近出现的风讯4.0漏洞


http://www.gipsky.com/
驳最近出现的风讯4.0漏洞。



作者:sobiny[B.C.T]

首先我要说明的是,我驳这个漏洞,只是针对这个事情而言,不是针对某个人。只希望借这个事情告诉大家,技术这个东西不只靠的是理论,还要靠实践,就像找漏洞一样,不是你看到这个地方似乎过滤得不严了,然后这个地方就存在漏洞,然后想当然的写出漏洞利用方法。也许更多的牛人也都没去实践,可能就初略看了一眼,就争相转载。发布漏洞。



现在我们先来看看我手上拿到的介绍风讯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,具体就等你来实现吧,多动手。



BY

WhyTt



原作者是WHYTT!他也在群里,论坛帐号是伯虎,进不了牛X版。。。。刺头方便就给他开通下权限吧...



以上是对方的文章。



首先我们来看看stat\index.asp这个文件。

先说他的第一个错误。

第一EnAddr(EnIP(VisitIP))这个过程确实没有把值赋给VisitIP,

但是:EnIP这个过程,好象作者并没有注重到!!

我把这个过程贴出来大家看看。

function EnIP(ip)

dim ip1,ip2,ip3,ip4

ip=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的伪造注入。不过不是在这个地方。

在投票那里。

有爱好的朋友自己去看吧。。



再一次说明一下,我这个文章对事不对人。

我发这个文章只是想说这个东西确实是没有经过实践的。

我不想攻击哪个人,请被驳的作者也不要来批判我。

对于技术,本来就应该保持一个更严谨的态度?难道不是吗?

另外,技术不是秘密,应该共享,但是涉及到一个漏洞的问题

请作者在发出来前,还是三思而后行。







[最后修改由 , 于 2006-11-09 21:13:58]
<< vbs实现sql注入 PHP的is_uploaded_file()和move_uploaded_file()函数windows环境饶过缺陷 >>
评分
10987654321
API:
gipsky.com& 安信网络
网友个人意见,不代表本站立场。对于发言内容,由发表者自负责任。

系统导航

 

Copyright © 2001-2010 安信网络. All Rights Reserved
京ICP备05056747号