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

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

>Собственно, список ошибок я лучше приведу без перевода

Это потому что вам нехочется переводить? =)
НЛО прилетело и опубликовало эту надпись здесь
Ну отчего же, могу, да только по-русски терминология информационной безопасности звучит уж очень тяжеловесно.
Кроме того, те, кому это интересно, все равно пойдут по ссылке читать оригинал — а там уж без английского никак. :)
* CWE-20: Неправильная валидация входных данных
* CWE-116: Неправильное экранирование выводимых данных (escape)
* CWE-89: SQL Injection — не фильтруем специальные SQL символы
* CWE-79: XSS: не фильтруем специальные HTML символы
* CWE-78: Выполняем системмные команды с данными пользователя
* CWE-319: Нешифрованная передача информации, которая должна быть приватной
* CWE-352: Доверие к данным, присылаемых Web-браузером (например значение куков, макс. размер полей — все это можно поменять вручную)
* CWE-362: Одновременное чтение/запись в одну и то же место памяти — результат непредсказуем
* CWE-209: Вывод сообщений об ошибке на экран — это раскрывает внутренности системы

фууух )
Race condition это немного другое, нежели «Одновременное чтение/запись в одну и то же место памяти — результат непредсказуем». Приведу простой пример — допустим пользователь может доверять файлу, если его контрольная сумма отвечает эталону. Так вот, если между проверкой контроля целостности и чтением файла, система не будет блокировать к нему доступ, чтобы злоумышленник не смог подменить файл в этот интервал времени, то это тоже будет Race condition.
Ещё пример. Есть компонента, требующая наличие другой для запуска. И если по ошибке она запускается раньше той, от которой зависит — это есть r.c.
Благодарю! Теперь довольны будут все))
НЛО прилетело и опубликовало эту надпись здесь
* CWE-119: Выход за границы выделенной памяти под структуру
* CWE-642: Возможность изменения критичных данных извне
* CWE-73: Возможность изменять извне имена файлов/пути
* CWE-426: Поиск по произвольному файловому пути (видимо для линуха — там много критичных путей )
* CWE-94: Неверная генерация кода (т.е. где данные пользователя могут попасть туда где по идее должен быть код генерируемый программой)
* CWE-494: Скачивание неподписанного кода — возможно изменение врагом во время передачи
* CWE-404: Неправильное освобождение ресурсов
* CWE-665: Неправильная инициализация
* CWE-682: Неверные вычисления (хехе)
* CWE-285: Кривой контроль за уровнем доступа
* CWE-327: Использование старых/ненадежных алгоритмов шифрования / хеширования
* CWE-259: пароли в константах (мне это нравится ) )
* CWE-732: Небезопасное назначение прав кретическим ресурсам
* CWE-330: Небезопасные случайные числа = rand() — это не безопасно, если кто не знает, значения предсказуемы :-)
* CWE-250: Выполнение с ненужными привелегиями (т.е. работать надо с минимальными)
* CWE-602: Попытка усилить безопасность сервера на клиенте
Какой тут нафиг опыт? SQL-инъекции, проверка данных у клиента, неправильная валидация, выполнение системных команд и все в таком духе. Топ-25 ошибок в детском саду.
то есть вы гарантируете, что любая программа, написанная вами не содержит ни одной из этих ошибок?:)
SQL-инъекции живы до сих пор )
Список хороший для новичков :-)
Замечательно, что для вас эти ошибки очевидны. Тем не менее, большинство coding and security standards содержат именно такого рода требования и предостережения. И если отдельно взятый разработчик может и в голове все это держать, то при командной работе формализованные требования очень даже полезны.
Просто это самый банальный список из всех, упоминание на хабре о таких ошибках было не раз. Вот к примеру — habrahabr.ru/blogs/php/38007/ — список ошибок начинающий в php, хотя он более полезный.
Люди тратят сотни человекочасов, чтобы выявить ошибки общего вида, не зависящие от платформы и конкретного языка — а по-вашему, это банально? Я, например, не пользуюсь PHP, поэтому приведенный вами пост мне почти ничего не дает: там все советы специфичны для конкретного языка.
А как же ошибка invalid user aka человеческий фактор?
Конечно, старо, но почему-то вспомнилось:
— Папа, а почему меня назвали '; delete from users; --
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории