Номера на автомобиле, судя по всему, польские. Воспользовавшись сервисом поиска по изображению Tineye, редактор узнал, что картинка пользовалась популярностью в Интернете еще аж в 2009 году. Наверняка многие читатели нашей газеты тоже ее не видели. А те, кто видел, надеюсь, нас простят.
Так и не поняли, что это за таинственная надпись, наклеенная на бампер поверх государственных регистрационных знаков? Это выражение, написанное на SQL -- языке запросов к базам данных. Камеры фиксируют автомобильные номера, затем модуль оптического распознавания преобразует полученную графику в текст. А дальше происходит самое интересное -- этот текст подставляется в SQL-выражение, которое исполняется для получения информации из базы или, наоборот, создания новой записи в ней.
Подставляемое значение заключается в двойные или одинарные кавычки. Но если оно само будет содержать в себе закрывающую кавычку, то текст после нее представится серверу программным кодом. Такой тип хакерской атаки называется SQL-инъекцией. Наклеенная на бампер команда полностью удаляет базу данных под названием Tablice.
Защититься от SQL-инъекции несложно -- надо всего лишь подставлять обратную косую черту перед любыми кавычками при передаче значения. Эта процедура называется "экранированием" и входит в "правила хорошего тона" любого опытного программиста. Но кто же ждет, что угроза придет прямо из изображения, полученного естественным путем?!
Кстати, язык SQL используются во программной части многих веб-сайтов. Коробочные решения надежно защищены от SQL-инъекций, но сайты, сделанные студентом на коленке за $100, могут содержать по истине "детские" уязвимости. Зайдите на сайт конкурента и попробуйте ввести в поле регистрации выражения "); или ');. Если повезет, появится сообщение об ошибке, а в нем, может быть, будут названия таблиц. Что делать дальше, вопрос ваших этических предпочтений: можно написать письмо администратору с указанием на "дырку", а можно взяться за учебник языка SQL.
Очевидно, польский автомобилист был знаком с архитектурой базы, или даже работал над ее созданием. Неизвестно, получилось ли у него обрушить систему распознавания номеров, но он преподал всем отраслевым разработчикам хороший и занятный урок по информационной безопасности.
Комментариев: 9