'or'1'='1'等漏洞问题

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

' or '1'='1'等漏洞问题在login.asp中,接收用户输入的Userid和Password数据,并分别赋值给user和pwd,然后再用sql="select * from admin where username="&user&" and password="&pwd&"" 这句来对用户名和密码加以验证。

以常理来考虑的话,这是个很完整的程序了。而在实际的使用过程中,整套程序也的确可能正常使用。

但是如果Userid的值和password的值被赋于:safer' or'1'='1' 这时,sql="select * from admin where username="&user&" and password="&pwd&"" 就成了:

sql="select * from reg where user=safer' or'1'='1' and pass=safer' or'1'='1'

怎么样?!我不说大家也明白了吧!

既然有这样的问题,接下来我们就来看看如何解决它。从上面的程序中各位也可以看出,只要对用户输入的数据进行严格过滤就可以了。具体可以参下面的程序:

同样是先取得用户输入数据,然后分析用户输入的每一个字符,如发现异常,则转到错误页面。

if cl="" or us="%" or us="" then 这一句中可以加入任意的过滤字符,跟据具体情况而定。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航