会轻易就范,经过查阅资料最后发现原来漏洞是SQL致命的“单引号注入”。入侵原理如下:在网站后台管理登录页面用户密码认证时,如果用户在“UserID”输入框内输入“Everybody”,在密码框里输入“anything' or 1='1”,查询的SQL语句就变成了:Select from user where username='everyboby' and password='anything' or 1='1'。不难看出,由于“1='1'”是一个始终成立的条件,判断返回为“真”,Password的限制形同虚设,不管用户的密码是不是Anything,他都可以以Everybody的身份远程登录,获得后台管理权,在公告栏发布任何信息。 4. 解决方法:用replace函数屏蔽单引号。 select from user where username='&&replace(request.form("UserID"),',")&&' and password=' &&replace(request.form ("Pass页码:[1] [2] [3] [4] [5] [6] 第2页、共6页 |