今天学习Servlet时,学习到的Sql注入漏洞的知识。
- select *from users where username='admin' and passwd='admin';
- select *from users where username='dsa' and passwd='cdsa' or 1='1';
第一行代码,是符合要求的代码,按照要求查找用户名和密码。
第二行代码,就是Sql注入漏洞了。'dsa'以及'cdsa' 是随便输入的。只要是username='XXX' and passwd='XXX' or 1='1' 就可以了。
这样的话就可以将数据库中这张表的所有的记录查出来。
所以如果在编写网站时,没有考虑这个漏洞的话。结果是:
在用户名的输入框中输入XXX(XXX表示任意输入)
在密码的输入框中输入 XXX' or 1='1(XXX表示任意输入)
点击登录后照样可以登录。
当然这是对于新手编写的网站可以用这种方法试试。大型的网站,估计人家早就弥补了。
ps:我的新博客地址:http://www.xinghaixu.com