普通SQL 语句:
Stirng passoword=123;
String username=joker_sc;
String sql="select * from users where password="+password+"and username="+username
当给password赋值为"123 or 1=1 "时,username被赋值为"joker_sc or 1=1"sql语句整体被注入,
整个sql语句实际为 "select * from users where password=123or 1=1 and username=joker_sc or 1=1"sql语句始终为true。
使用?占位时:
String sql="select * from users where password=?and username=?"
?所替代的内容始终认为是username或password的一部分,不存在注入的情况
username的值为:joker_sc or 1=1
password的值为:123or 1=1