web保险之sql注入

web安全之sql注入
web安全之sql注入:
情况一(通过界定符攻击):
select * from admin where adminname = 'wang' and password = 'password';
其中将如果wang是从程序获取的,那我可以输入:wang' or 1=1 --
这样拼接成的sql就是:
select * from admin where adminname = 'wang' or 1=1 --' and password = 'password';
显然,--后面的都没注释的,而真正的条件有1=1永远为真,你可以试试你的系统输入wang' or 1=1 --看能够登录?

情况二(通过union暴库):
select name from student where age > 20;
其中20为从程序获取的,那我可以输入:150 union select name from student
由于>150几乎是不可能的条件,查询的结果就相当于是select name from student了,你可以试试哦?

情况三(模糊查询注入);
select * from student where name like '%$name$%';
这种就是ibatis的sql注入问题,跟第一种情况类似,其中name为程序赋予的,那么我可以输入:' or '1'='1
这样拼接的sql即为:
select * from student where name like '%' or '1'='1%';
而做鬼就在这个like '%'上面,永远为真,你是不是也要试试你的系统呢?

我知道的就是这些,这些都是很普遍的sql注入安全问题,你们的系统不会犯着错误的?
你还有更多的例子吗?欢迎交流!!!