小默

【转】WEB安全系列之二:SQL注入漏洞

   * 注入漏洞攻击利用的重点是具有交互功能的使用数据库的动态站点
    * 注入漏洞攻击的技术重点是在服务器端执行攻击者的SQL语句
    * 注入漏洞攻击的方法重点在于动态网页存在不安全的SQL生成语句

        本文内容重点在于介绍注入漏洞的攻击过程。
        在很多动态web应用中,会提供给用户输入的接口,并且根据用户的输入来生成数据操作的SQL语句。比如一个简单的用户登录对话窗。
        所谓注入漏洞,是指在上述描述的部位,利用输入的数据参与执行的原理,输入恶意的内容,进而该恶意内容可被执行。举例如下:

        在一个登录界面中,用户要输入自己的ID号和密码来完成登录过程,生成的SQL可能是如下这个样子:
        select  *  from  t_users  where  user_name=' + 用户输入的ID + ' and user_pwd=' + 用户输入的密码 +'
        一个非法的窥探者,在用户ID输入框中输入 00'   or   '1'='1  并在密码框里输入00,生成的整个SQL就变成:
        select  *  from  t_users  where  user_name='00‘  or   '1'='1'  and  user_pwd='00'
        这样,查询是有结果的,对于不严密的判断,非法用户得以进入该系统。

        上面的例子展示了非法登录的手段。如果用于产品检索,则一个普通用户权限的用户可以用非法手段获得全部产品列表。更严重的情况是非法用户利用这种漏洞执行系统存储过程,建立系统用户,打开系统限制,完成系统登录。
        
        如果我们利用数据库存储过程来完成检索,利用参数传递的方式来传送参数,就可以避免这种情况。

posted on 2010-04-14 14:18 小默 阅读(210) 评论(0)  编辑 收藏 引用 所属分类: Security


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

统计

留言簿(13)

随笔分类(287)

随笔档案(289)

漏洞

搜索

积分与排名

最新评论

阅读排行榜