Небольшая заметка по error based SQLi

Дарова, дегенераты почаны!

Если вы читаете эту статью, значит она была слита с ****, как слишком низкая по уровню. Ага. В коем-то веке, илита типа вас, может заценить, чо постят клевые пацики на приватном борде... Легальный слив, ога)

Общался на днях (два-три месяца назад) с одним, как он себя называет, войт-хуетом. И после недолгого разговора, когда моему собеседнику (и мне тоже) стало совершенно очевидно, кто есть хуй киддис, а кто хуй илита, он добавил меня в ЧС. Ну в общем-то совершенно обыкновенная ситуация, если бы не одно НО. Нашел я в записях у этого товарища следующую вещь:
dr

УШЛА ЭПОХА ПРОСТЫХ SQL-ИНЪЕКЦИЙ!!!111

Ничоси, заявочка... В общем, решил я проверить столь категоричное утверждение этого молодого человека.

И шо вы думаете? Я заметил таки такую весчь... Если мы возьмем следующий кодес:

И попробуем провести sql-инъекцию, то практически все будет абсолютно одинаково (что само по себе уже ставит под сомнение слова юного хеккера).

Но есть различия в error based инъекциях - если в параметр id мы пихнем всем знакомое:

То увидим кое-что необычное:

1457821516745

В случае с mysqli данные выводятся как в ошибке php-интерпретатора, так и в выводе ошибок от MySQL. Получается старое расширение было в чем-то даже секьюрнее нового (проверено и на PHP 7.). Те инъекции, что были раньше blind, при бездумном переписывании кода с mysql на mysqli, могут стать error based.

Т.е. выходит, новое расширение не только не знаменует конец "эпохи простых SQL-инъекций", но даже в чем то означает начало "эпохи еще более простых SQL-инъекций".

Такие дела.