风讯4.0未果真Bug

增补一句,这个对象只是看代码时随便看到的一处,其他处所还多着呢,其时写下来还没测试,我就记了下来,个中有什么差池,还望领略。哈哈~

前段时间网上风行的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 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/9107.html