Волшебные кавычки



При последнем пентесте довелось мне встретиться с архитектурой Web-приложения, как показано на картинке справа.

Что тут не так спросите вы?

Да дело все в том, что ораклятина не мускуль. И не про какое экранирование, в стиле обратного слеша, oracle попросту не знает :) У оракла вообще нет такого понятия, как "экранирование" - это ведь серьезная СУБД:




Надо сказать, что в последнем пентесте, оракла было довольно много и большинство из них в такой архитектуре грешили указанной уязвимостью, т.е. универсальным логином "'or(1)=(1)--" (aka SQL Injection).

Аналогичная особенность интерпретации обратного слеша ("\") в качестве независимого символа, характерна и для Microsoft SQL Server:



И для базы данных Sybase:



Таким образом, чтобы не попасть впросак на уязвимости типа "внедрение операторов SQL" следует учитывать подобные особенности СУБД при программировании и портировании своих приложений под разные базы данных.

Примечание: эту тему год назад в своем блоге поднимал Bernardo Damele [1,2], но как показала практика, проблема до сих пор является актуальной.

2 комментария :

  1. замечено, что на данном посте в бесконечный цикл уходит FF...))

    ОтветитьУдалить
  2. чтобы прекратить повальное падение браузеров [1], пост пофиксил :)

    ОтветитьУдалить