Комментарии 6
"Внедрение SQL — это когда вы пишете SQL-запросы напрямую, а не с помощью ORM"
… а не с помощью параметризованных запросов.
Из этого списка хотя бы половина относятся конкретно к Python? Заголовок не оправдал содержания
Несколько вещей относятся к стандартным библиотекам Python (вроде парсинга XML/YAML).
То что некоторые пункты относятся сразу ко множеству языков — не значит что оно не относится к Python, соответственно название валидно: как уточнение, что у питона вот эти штуки точно так же не пофикшены, как и у остальных языков.
Сам довольно активно применяю в работе язык Lua, к нему множество вещей из статьи тоже подходит, а что-то — нет, например, сторонние библиотеки зачастую далеко не такие умные как питоновые (большинство библиотек для парсинга XML не упадёт из-за lol/не будет грузить XML-включения по причине собственной тупости), но те же SQL/Shell-инъекции — замечательно срабатывают.
То что некоторые пункты относятся сразу ко множеству языков — не значит что оно не относится к Python, соответственно название валидно: как уточнение, что у питона вот эти штуки точно так же не пофикшены, как и у остальных языков.
Сам довольно активно применяю в работе язык Lua, к нему множество вещей из статьи тоже подходит, а что-то — нет, например, сторонние библиотеки зачастую далеко не такие умные как питоновые (большинство библиотек для парсинга XML не упадёт из-за lol/не будет грузить XML-включения по причине собственной тупости), но те же SQL/Shell-инъекции — замечательно срабатывают.
Мне XML понравился. Атака весьма старая — современный парсер ей подвержен?
При использование subprocess и аналогов просто не нужно передавать строку. это не только небезопасно, но и бессмысленно, ведь вы сначала склеиваете аргументы в строку, чтобы затем шелл распарсил их и передал в виде сишного массива в int execv(const char *path, char *const argv[]);
. Передавайте аргументы по отдельности:
subprocess.check_call(["convert", filename,"-resize", "500", outfile ])
Это относится ко всем языкам.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
10 самых распространенных ошибок безопасности в Python и как их избежать