[ 登录 ][ 注册 ] 天极传媒: 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
您现在的位置: IT专家网 > 安全子站 > 安全技巧

SQL注射漏洞的成因及修补

作者: 伤心的鱼,  出处:IT168, 责任编辑: 韩博颖, 
2008-01-25 13:33
  最近笔者的朋友接到一个网站的生意,说是给别人做了一个网站, 怕程序出问题。让笔者帮忙检测一下有没有什么注射或者上传之类的漏洞。没有的话就可以交差了。因为只是针对网站来检测漏洞,所以也不需要去旁注或者ARP 什么的……

  最近笔者的朋友接到一个网站的生意,说是给别人做了一个网站, 怕程序出问题。让笔者帮忙检测一下有没有什么注射或者上传之类的漏洞。没有的话就可以交差了。因为只是针对网站来检测漏洞,所以也不需要去旁注或者ARP 什么的。首先打开域名 hxxp://www.target.com/ 打看后一个就知道这程序肯定不是笔者朋友本人写的,好象是什么程序改的,但是又看不出来。打开一个连接随手加个单引号,返回错误了。如图1

  

  Microsoft JET Database Engine 错误 '80040e14';字符串的语法错误;在查询表达式 'ID=16'' 中。/viewInfo_c.asp行318,从这个错误提示我们能看出下面几点:

  1、网站使用的是Access数据库,通过JET引擎连接数据库,而不是通过ODBC。

  2、程序没有判断客户端提交的数据是否符合程序要求。

  3、该SQL语句所查询的表中有一名为ID的字段。

  不过看到这小网站就知道不可能是sql server了,google一下才找到43个连接,用SQL是小题大做了点。我们继续。马上and 1=1=2发现返回页面不一样,可以注射。既然知道了是ACCESS那就只能通过来猜解管理员的密码来登陆后台了 ,继续使用 And (Select Count(*) from Admin)>=0 页面返回正常说明存在admin表,这就更加确定这程序不是他本人写的了。因为除了网上公布的些开放原码 很少有程序员用admin做为存放管理员密码的表,知道了admin表就继续猜字段吧。一般来说这样的程序用的字段无非这几个:username; password;id;userid;user_password;pwd;name;userpwd,所以猜这样的字段非常容易。语句一复制,挨个试就好了。猜了半天,发现admin表里存在username;password;id三个字段。很明显username 跟password是存放管理员用户名与密码的。 继续猜 and (select top 1 len(username) from Admin)>0。

  先说下原理:如果top 1的username长度大于0,则条件成立;接着就是>1、>2、>3这样测试下去,一直到条件不成立为止,比如>7成立,>8不成立,就是len(username)=8 。

共5页。 1 2 3 4 5 :
  • 本文关键词:

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。

邮件订阅


    • 解析Windows密码安全问题(第三部分)评论
      在前两部分文章中,我们讨论了Windows密码政策的问题以及它是如何在Active Directory环境被控制等问题,大家应该还记得在默认情况下密码政策和相关的设置位于默认域策略中(Default Domain Policy)。另外同样探讨了可以使用哪些技术破获windows密码,以及每种攻击方式的限制问题。那么,在本文中,我们将讨论如何让windows密码变得更加安全,以及如何能够解决在前两部分文章中出现的所有问题。本文将涉及Windows2002/2003/2008Active Directory默认安装带来的可能性以及其他能够整体提高密码安全的技术。
    • IDC创新和安全白皮书:合作或竞争评论
      业务创新是业务发展战略非常重要的一部分,并而日益成为公司保持竞争优势的决定性因素。由于创新的战略重要性,导致了我们越来越关注信息安全机制在抑制甚至扼杀业务创新方面起到的作用。IDC认为公司不仅是需要找到业务创新和有可能扼杀这种创新的信息安全机制,而且需要在这两者之间找到一个简洁的平衡来满足自己的业务需求。成功的企业能够在商业竞争中占有优势,是因为他们懂得去合理的利用两者使之成为一种具有杠杆作用的机制,而其它的企业只是单单强调其中的一个。
    • 预防企业数据丢失的6种最佳实践评论
      根据“私有权清算中心”(一家非赢利性消费者信息和倡导组织)的统计,自2005年1月以来,有将近2200万条记录遭到破坏。数据失窃和丢失案件数量惊人,这不仅是因为安全入侵事件正在以惊人的速度持续增长,数据丢失引发的财产损失事件也同样在飞速增加。根据美国政府的估计,所谓的“企业数据丢失”在去年使商业界损失了近1050亿美元。根据波尼蒙研究所(Ponemon Institute)的统计,仅仅内部人士导致的数据受损一项,每年给商业界造成的损失为平均每家公司3-4百万美元。产业分析公司Gartner集团估计,恢复数据的开销可以达到每条破坏记录150美元之高——这一数字还没有包括重拾客户信任和重建品牌价值、可能的罚款以及法律诉讼代理费的资金投入。在企业数据丢失案件有增无减的同时,公司也正在不断搜集更多数据,以求优化商业流程,改善客户服务,以及提升与合作伙伴的关系。更多的数据转化为相关数据在整个企业中数量不断增多的信息系统之间更广泛的传播。其结果就是——随着公司内外越来越多的用户获得接入系统的权限,敏感数据遭到破坏的风险也在不断增大。
    • RSA白皮书:管理银行的信息风险评论
      信息是银行的基础,但直到现在,金融机构还往往满足于以业务封闭式的方式管理风险。然而,行业的压力促使银行开始对这种战略展开思考。