//id和password直接来自用户的输入。未做处理
string id = GetUserInput("UserID");
string password = GetUserInput("UserPassword");
tring script = "select * from table_user where User_ID = '" + id? + "' and User_Password? = '" + password? + "' ";
RunSql(script);
如果用户输入的password为“ or ''=' ”,那么生成的script就为
select * from table_user where User_ID = 'UserID' and User_Password? = ' ' or ''=' '
这样一来,即使不知道用户的密码也可以察看该用户的帐户信息了
再比如,入侵者会把一些巧妙伪装的代码嵌入到你动态生成的Sql命令中,比如
Delete table_Book where 1 = 1? ...
use master--