| 网站首页 | 新闻中心 | 系统安全 | 网络安全 | 安全技术 | 下载中心 | 
课件制作网.
收藏本站
设为首页
安全365
真实遭遇逻辑错误造成的漏洞
真实遭遇逻辑错误造成的漏洞
作者:佚名 文章来源:不详 点击数: 更新时间:2007-1-25 10:57:59
前一阶段,我个人网站的聊天室系统出现了问题,聊天室出现了很多异常大小和样式的头像。。让我很困惑,按照常理,用户可以选择的头像都是我所放入用户头像商店的。。但是其他的头像是怎么来的呢?

因为聊天室系统是租用的,不是我开发的,很容易想到的就是程序可能存在漏洞,而且十有八九是SQL注入。。

于是和管理员索取了整套的管理系统的源代码,发现的确有注入点,感觉问题找到了。。但是修补之后,发现问题没有缓解的意思。。我又在考虑,如果真的是注入的方式,这些网友应该会增加一批管理员。。随后又重新审计了几次代码。。终于发现了逻辑错误。。

由于这个系统是多用户版本的。。用户头像商店这个表有一个roomid表示哪个聊天室的用户具有这个头像。平时添加对应用户的头像的命令是正确的,把头像update给这个房间的这个用户,但是呢,购买头像超过1个之后,逻辑上把原来的4号记录给3号,3号记录给2号,2号给1号,1号空出来,把新的提交给他,是这样写的:

sql="update usericon set usericonm='"&rs2("usericon4")&"' , usericon4='"&rs2("usericon3")&"' , usericon3='"&rs2("usericon2")&"' , usericon2='"&rs2("usericon1")&"' , usericon1='"&rs("usericon")&"'where username='"&session("username")&"'"

尽管之前调出图片地址的时候是:

rs2.Open "Select * From usericon where roomid='"&session("roomid")&"' and username='"&session("username")&"'",conn,1,3

他认为一个用户只能从这个数据集里边获得新的头像的url是当前用户必须符合当前的session("roomid")。。可他没有考虑到当前用户可能在两个聊天室注册同样的名字,这样就可以获得两房间的头像的。。

当然了。。这些仅仅是外因。。。这仅仅是一个作案的条件。。毕竟不是所有的新用户都可以直接购买非常大的头像。。后期也有一些竞争等等的原因,别人的聊天室给我们的用户“定做”了一批。。这些东西就不在讨论了。。大家写程序的时候,一定要注意类似的逻辑错误。。不要出现能让一个分公司的会计,可以修改所有分公司的人的帐目类似漏洞。。 【转自世纪安全网 http://www.21safe.com】
新闻录入:admin    责任编辑:admin 
  • 上一篇新闻:

  • 下一篇新闻:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
     
     
     
    信息安全等级保护遭遇落
    网络银行储户遭遇黑手 谁
    电邮遭遇IM冲击 用户遭
    我的真实体验:应聘华为,
    新浪UC遭遇大规模黑客攻
    王志东推新软件Lava-Lav
    Office2007遭遇盗版问题
    Win Powershell遭遇病毒
    假作真时真亦假——“真
    IE 7公测版曝出首个漏洞

    Copyright © 2006-2008 www.anquan365.com 安全365
    建议使用1024*768分辨率及第三方浏览器对本站进行浏览