Как стать автором
Обновить

Комментарии 8

Скажите, в 2023-ем действительно остались программисты, которые не используют параметризованные SQL запросы?

Разумеется. Достаточно зайти на сайт qna.habr.com и убедиться, что они никуда не делись. Особенно умно в этом плане устроен Питон, где последовательность %s используется и в качестве параметра для форматированных строк, и в качестве параметра для SQL запросов. Нулевой шанс перепутать же.


Кроме того, есть пограничные случаи, когда кроме данных надо подставить в запрос какой-то другой элемент, и многие путаются, как поступать в таких случаях.


Но соглашусь, что сам по себе подобный формат статей довольно бессмысленный. Причем дважды.
Во-первых, вы правы в том, что защита от инъекций в сотни раз проще, чем все эти хитроумные варианты эксплуатации. И если следовать этим простым правилам защиты, то вся статья тут же превращается в тыкву — никакие ухищрения с UNION не помогут.
А во-вторых, по сути эти статьи являются таким ликбезом по SQL для чайников. В которых банальные элементы SQL выдаются за сокровенные знания. "Оооо, в SQL, оказывается, есть UNION! Оооо, оказывается, с его помощью можно читать данные из двух таблиц!" Фактически, умение эксплуатировать инъекции сводится к владению SQL. Эксплуатация инъекций — это творчество, а не тупое зазубривание нескольких приёмчиков. Скажем, если в запросе даже есть инъекция, но при этом используется ORDER BY, то все эти примитивные рецепты снова превращаются в тыкву.

Да, ещё есть сайты, в которых можно встроить SQL инъекцию, сайт моего универа с оценками страдает этим, но всем на это пофиг и никто не собирается это исправлять.

Да уж. Лет 20 назад товарищ с помощью sql инъекций вытащил из бд провайдера данные по карточкам с кодами для активации и-нета.

Использовал их и его конечно же нашли ))) взяли на работу, а ущерб заставили возместить.

ресурс в котором запрос в БД отправляется прямо из параметров запроса урла, а пароли хранятся в сыром виде даже взламывать как-то неудобно))) дырень

Замечание, конечно, верное. Но справедливости ради — это все-таки не демонстрация реального взлома, а просто показ нескольких приемов. А она всегда делается в упрощенном варианте, как с тем же пресловутым мальчиком Бобби. В реальности детали применения будут отличаться, но принцип-то останется. Скажем, с помощью UNION (при наличии инъекции, разумеется) можно авторизоваться и на сайте, где используются хэшированные пароли.

против JOIN есть какая-то специфика ?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории