当前位置:首页>文章内容

有关ASP中'or'='or'漏洞  

时间:2009-10-22分类:网络技术 李小猫 查看:7293

     呵呵。我的这个网站一直没管过了。也没经过安全测试过的。不过今天有人用最简单的'or'='or'漏洞,进入了后台。写了一篇博客。哈。还好这孩子善良,啥也没做。不然我的数据估计都要没了。哈。今天首先修了一下这个'or'='or'漏洞。

     这种漏洞叫“Injection注入漏洞”,它的原理是这样的:


     当用户输入用户名和密码时,提交一个精心构造的用户名“a or username<>'a”,密码是:“a or pwd<>'a”,而程序的判断语句是:select * from user_table where username=用户名 and pwd=密码  
但是,把上面的用户名和密码带起去后就变成:select * from user_table where username=a or username<>a and pwd=a or pwd<>a,就变成上面的SQL语句了,在这种情况下,就出现了逻辑漏洞了,程序会认为用户名和密码都正确,就会把用户名赋给正确的session,这样就进入后台了,解决办法是用replace()函数过滤掉“'”。

      语句:

        name=replace(request.form("name") ,"'","")
        pass=replace(request.form("pass") ,"'","")

      再就是用户名和密码的输入框里限制输入的字符数,其实,如果对方不知道用户名和密码在数据库里的字段的话,是无法破解成功的。

关于博主

博主:李小猫

职业:互联网运营、网络技术等

简介:我是一只小小猫!

Q Q:273195507

E-MAIL:limao1111@sina.com