首页 > 编程 > ASP > 正文

asp后台管理系统的'or'='or'漏洞

2024-05-04 11:09:44
字体:
来源:转载
供稿:网友
ASP只是一种技术,只是一种运行环境,并不是后台管理系统都是asp的,也可以是PHP或JSP或CGI或ASPX或其它的技术的,只不过ASP是目前比较流行的技术罢了。
你说的那个'or'='or' 的漏洞,只不过是程序书写时的逻辑漏洞了,并不是ASP本身的漏洞,这种漏洞叫“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()函数过滤掉“'”,再次就是用户名和密码的输入框里限制输入的字符数,其实,如果对方不知道用户名和密码在数据库里的字段的话,是无法破解成功的。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表