风讯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

(0)

相关推荐

  • 风讯4.0未公开Bug

    补充一句,这个东西只是看代码时随便看到的一处,其他地方还多着呢,当时写下来还没测试,我就记了下来,其中有什么不对,还望理解.哈哈~ 前段时间网上流行的SQL注入是利用伪造代理IP来实施攻击,这个HTTP_X_FORWARDED_FOR在一段时间内倍受人们关注,今天在看风讯4.0 的时候也发现这样一个注入点,可笑的是程序员是考虑到对HTTP_X_FORWARDED_FOR的过滤,但是在带入查询时,好象是忘记把过滤的变量带入,而直接带入了没过滤的VisitIP. 下面是分析代码: 在Stat/Ind

  • DOS未公开的命令与参数

    DOS系统中有许多未公开的命令与参数.我经过收集整理,发现了很多.由于DOS的有好几种,所以下面仅以MS-DOS为例,介绍一下常用命令中的未公开 的命令与参数.经过比较,我发现在MS-DOS的各版本中,7.x版中的未公开命令与参数是最多的,这些7.x版本中的未公开命令与参数在其它DOS版本 中通常是没有的,但却是非常实用的,例如COMMAND /Z命令,这是用DOS自带的命令显示ERRORLEVEL(错误返回代码)值的唯一方法(当然,用其它的附加工具,如ERR2ENV等也可以做到). DOS未公

  • DOS未公开命令与参数列表

    DOS系统中有许多未公开的命令与参数.我经过收集整理,发现了很多.由于DOS的有好几种,所以下面仅以MS-DOS为例,介绍一下常用命令中的未公开 的命令与参数.经过比较,我发现在MS-DOS的各版本中,7.x版中的未公开命令与参数是最多的,这些7.x版本中的未公开命令与参数在其它DOS版本 中通常是没有的,但却是非常实用的,例如COMMAND /Z命令,这是用DOS自带的命令显示ERRORLEVEL(错误返回代码)值的唯一方法(当然,用其它的附加工具,如ERR2ENV等也可以做到). DOS未公

  • MS-DOS未公开的命令与参数

    DOS系统中有许多未公开的命令与参数.我经过收集整理,发现了很多.由于DOS的有好几种,所以下面仅以MS-DOS为例,介绍一下常用命令中的未公开 的命令与参数.经过比较,我发现在MS-DOS的各版本中,7.x版中的未公开命令与参数是最多的,这些7.x版本中的未公开命令与参数在其它DOS版本 中通常是没有的,但却是非常实用的,例如COMMAND /Z命令,这是用DOS自带的命令显示ERRORLEVEL(错误返回代码)值的唯一方法(当然,用其它的附加工具,如ERR2ENV等也可以做到). MS-DO

  • Android中EditText光标在4.0中的bug及解决方法

    本文分析了Android中EditText光标在4.0中的bug及解决方法.分享给大家供大家参考,具体如下: 一.问题: 不知道为什么,我的EditText的在我自己的手机中出现的时候,他的光标就变得没有了,我开始还以为是光标不见了,后面我修改了一下EditText的背景颜色,才发现是因为光标的颜色变成了白色,所以没有看见. 二.解决办法 : 复制代码 代码如下: android:textCursorDrawable 设置值为"@null",但是我觉得那个不怎么好看,那个地方也可以替换

  • 解决使用良精企业建站7.0未注册问题

    前些日子改一个后台,是良精的系统,挺好的系统,就是良精太变态了,也难怪人家是要赚钱的,都公开了,那就白白开发了,更何况ASP加密技术又不是很多,除非封装,但封装给自己也带来不便,所以良精使用了很多让人想不到的办法,前面我也写过几篇,大家可以看看有没有需要的.这次用的是 7.0的版本,好像也不是最新的,看到了数据结构,其实良精也是改的是南方的,但南方,人家没有加密,而良精却花了心思去做加密,真想不懂. 遇到的问题就是传到网站上后台部分模块出现未注册,然后是让你联系他们.这次改的时候也主义了那个 s

  • 一个伴随ASP.NET从1.0到4.0的OutputCache Bug介绍

    我们先来一睹这个Bug的风采! 在一个.aspx文件中增加OutputCache设置,代码如下: 复制代码 代码如下: <%@ OutputCache Duration="300" VaryByParam="*"%> 上面的设置表示:缓存5分钟,根据不同的查询字符串更新缓存.Location使用的是默认值Any,也就是可以在浏览器.代理服务器.Web服务器三个地方进行缓存,在Response Headers中的体现就是Cache-Control:publ

  • 未公开的SQL Server口令的加密函数

    如果对MSSQL的用户信息有兴趣的,可能会发现master.dbo.sysxlogins里面存放着用户的口令,可是呢,password字段如果不是null就是一堆看不懂的binary,这个口令是怎么加密的呢? 其实只要仔细看看master.dbo.sp_addlogin就知道了,MSSQL的sp都可以看到代码,真是不错. 让我们来看看它是怎么做的,注意这一行select @passwd = pwdencrypt(@passwd),这个时后@passwd就被加密了,让我们也来试一下 DECLARE

  • WScript.Shell对象SpecialFolders属性未公开文档分享

    特殊文件夹名称用于索引该集合以检索所需的特殊文件夹,文档中列出了下面的特殊文件夹: AllUsersDesktop AllUsersStartMenu AllUsersPrograms AllUsersStartup Desktop Favorites Fonts MyDocuments NetHood PrintHood Programs Recent SendTo StartMenu Startup Templates 不过今天在用OllyDbg调试VBS的时候,发现文档中少写了一个AppD

  • 清空数据库中所有表记录 记录ID恢复从0开始

    1.搜索出所有表名,构造为一条SQL语句 复制代码 代码如下: declare @trun_name varchar(8000) set @trun_name='' select @trun_name=@trun_name + 'truncate table ' + [name] + ' ' from sysobjects where xtype='U' and status > 0 exec (@trun_name) 该方法适合表不是非常多的情况,否则表数量过多,超过字符串的长度,不能进行完全

随机推荐