首页 网络安全 安全学院 查看内容

风讯4.0未公开Bug

2009-2-4 15:04 600 0

摘要: 漏洞发现时间:2006年10月24日个人Blog:http://why_tt.mblogger.cn //个人个人Blog:http://whytt.mblogger.cn //技术影响版本:ACCE...
关键词: VisitIP FORWARDED 变量 http EnAddress 直接 文件 时间 EnAddr 查询

漏洞发现时间: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
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部