一次万能密码登录测试小记
Tilte:一次万能密码登录测试小记 --2012-12-10 16:44
出现万能密码登录的地方,一般都是产生了SQL注入。未过滤“'”等字符,提交的构造语句进入了SQL语句进行查询。
前几天不小心测试了一下一个互联网的一个管理系统,JSP+Oracle+*nux。
提交“'”,爆出SQL语句大概如下:
select *,* from admin where name='' and pwd=''
在用户名框做文章,输入“admin' Or 1=1--”,密码框随便输入。登录成功。
告知开发人员,开发人员修改后反馈,再次测试。
发现用户名框得到处理,密码框却未处理。
同样用户名输入“admin”,密码框输入“' or 1=1--”却登录不成功。经过测试发现,“=”貌似不起作用了,那么用户名输入“admin”,密码框输入“' or 2>1--”,测试成功进入。 都知道“OR 条件”是为了表达式恒为True。那么可以试试诸如变形“' or 2>1--”,“Or 1<2--”等。思路不局限于 or 1=1,当然,你也可以选择注入得到信息。