Подтвердить что ты не робот

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

Наблюдение за тем, как вышло в интернет, было для меня довольно хорошим образованием. Я хотел бы сделать контрольный список различных факторов и эксплойтов, используемых против веб-сайтов, и какие методы программирования можно использовать для защиты от них.

  • В каких категориях нет?
    • аварийный сайт
    • взломать сервер
    • нарушение доступа к другим пользователям
    • спам
    • sockpuppeting, meatpuppeting
    • и т.д...
  • Какие методы защитного программирования?
  • и т.д...
4b9b3361

Ответ 1

Из Открыть проект безопасности веб-приложений:

В первую десятку входят:

  • Межсайтовый скриптинг (XSS)
  • Недостатки впрыска (инъекция SQL, инъекция script)
  • Выполнение вредоносных файлов
  • Небезопасная ссылка на прямой объект
  • Подделка запросов на межсайтовый запрос (XSRF)
  • Утечка информации и неправильная обработка ошибок
  • Нарушение аутентификации и управления сеансом
  • Небезопасное криптографическое хранилище
  • Небезопасные коммуникации
  • Невозможность ограничения доступа к URL-адресу.

Ответ 2

Во-вторых, информация OWASP является ценным ресурсом. Также могут представлять интерес следующие элементы, в частности шаблоны атаки:

Ответ 3

Очевидно, проверяйте каждое поле для уязвимостей:

  • SQL - escape-строки (например, mysql_real_escape_string)
  • XSS
  • HTML, который печатается из полей ввода (обычно это знак XSS)
  • Что-то еще не является целью, для которой было создано поле для

Поиск бесконечных циклов (единственная косвенная вещь (если многие люди случайно ее обнаружили), которые могли бы действительно убить сервер).

Ответ 4

Некоторые методы профилактики:

XSS

  • Если вы берете какие-либо параметры/ввод от пользователя и когда-либо планируете его выводить, будь то в журнале или веб-странице, дезинфицируйте его (разделите/удалите что-нибудь похожее на HTML, кавычки, javascript...) Если вы печатаете текущий URI страницы внутри себя, санируете! Даже печать PHP_SELF, например, небезопасна. Санируйте! Светоотражающий XSS поставляется в основном из неанализированных параметров страницы.

  • Если вы берете на себя какой-либо ввод от пользователя и сохраняете его или печатаете, предупреждайте о них, если обнаружено что-либо опасное/недействительное, и повторите ввод. IDS хорошо подходит для обнаружения (например, PHPIDS). Затем дезинфекция перед хранением/печатью. Затем, когда вы печатаете что-то из хранилища/базы данных, снова санируйте! Вход → IDS/sanitize → store → sanitize → output

  • используйте сканер кода во время разработки, чтобы выявить потенциально уязвимый код.

XSRF

  • Никогда не используйте запрос GET для деструктивная функциональность, т.е. удаление сообщения. Вместо этого принимать POST-запросы. GET делает его более легким для хакерства.
  • Проверка referrer, чтобы убедиться, что запрос пришел с вашего сайта не работа. Нетрудно подделать реферер.
  • Использовать случайный хэш как токен, который должен присутствовать и действителен в каждом запросе, и истекает через некоторое время. Распечатайте маркер в поле скрытой формы и проверьте его на стороне сервера при отправке формы. Плохие парни должны были бы поставить правильный токен, чтобы подделать запрос, и если им удастся получить реальный токен, это должно быть до истечения срока его действия.

SQL-инъекция

  • ваш класс абстракции ORM или db должен иметь методы санировки - всегда используйте их. Если вы не используете класс абстракции ORM или db... вы должны быть.

Ответ 5

SQL-инъекция

Ответ 6

XSS (Cross Site Scripting) Атаки

Ответ 7

Легко контролировать и легко исправить: дезинфекция данных, полученных с клиентской стороны. Проверка таких вещей, как ';' может помочь предотвратить ввод вредоносного кода в ваше приложение.

Ответ 8

G'day,

Хорошим инструментом статического анализа для обеспечения безопасности является FlawFinder, написанный Дэвидом Уилером. Он отлично справляется с поиском различных эксплойтов безопасности,

Однако он не заменяет того, что кто-то читает ваш код. Как говорит Дэвид на своей веб-странице: "Дурак с инструментом все еще дурак!"

НТН.

веселит, Rob

Ответ 9

Вы можете получить хорошие дополнения Firefox, чтобы протестировать несколько недостатков и уязвимостей, таких как xss и sql-инъекции из Security Compass. Слишком плохо, что они не работают на firefox 3.0. Я надеюсь, что они скоро будут обновлены.