Автоматизированный тест на OWASP A1-A10

Мне интересно, из топ-10 OWASP (A1-A10) все это можно автоматизировать. Можно ли автоматизировать их тестирование с помощью Selenium, если нет, какой инструмент можно использовать для их автоматизации? Также есть какие-либо документы или руководящие принципы или любые примеры, которые могут быть использованы или переданы.

Заранее спасибо.

2 ответа

Решение

Я бы сказал:

  1. Инъекция: автоматизация довольно эффективна
  2. Auth / Session mgmt: инструменты помогают, но ручное тестирование действительно необходимо
  3. XSS: автоматизация довольно эффективна
  4. IDOR: инструменты помогают, но ручное тестирование действительно необходимо
  5. Сек неверная конфигурация: то же самое
  6. Доступ к данным: может быть в значительной степени автоматизирован путем ручной проверки.
  7. Отсутствует AC: элементы могут быть автоматизированы, но def требует значительного ручного участия
  8. CSRF: автоматизация довольно эффективна
  9. Компенсация с помощью vulns: автоматизация может быть эффективной, но вам понадобится проб статическое + динамическое сканирование
  10. Fwds и redir: автоматизация довольно эффективна

Найти уязвимости в безопасности сложно, автоматизация должна рассматриваться как способ сократить время и усилия, затрачиваемые на ручное тестирование, а не заменять его. Одним из преимуществ автоматизированного тестирования является то, что вы можете сделать это в любое время (например, как часть CI/CD), а не ждать до конца и вводить пентестеров.

Во всех случаях важна ручная проверка любых потенциальных уязвимостей, обнаруженных с помощью автоматизации.

Взгляните на https://www.owasp.org/index.php/ZAPpingTheTop10 который ориентирован на ZAP. Автоматизация определенно является фокусом для ZAP (и одним из ключевых способов, которым мы используем его в Mozilla), и неудивительно, что это то, что я рекомендую использовать (я руководитель проекта ZAP;)

Есть много инструментов, которые делают это автоматически.

Если вы спрашиваете об этом, либо у вас недостаточно опыта в области безопасности, либо у вас недостаточно опыта в области автоматизации.

Одно дело знать безопасность, а другое - писать эффективные автоматизированные сценарии. То, что вы могли бы сделать, это автоматизировать некоторые конкретные сценарии, приведшие к регрессии.

В целях безопасности используйте имеющиеся инструменты для поиска уязвимостей + ручное тестирование и анализ.

В заключение: да, как сказал @psiinon, вы можете автоматизировать, и лучше иметь автоматическое сканирование, но с точки зрения внедрения вручную это потребует много усилий, чтобы сделать это эффективным способом с хорошим охватом.

Убедитесь, что вы полностью понимаете, что вы пытаетесь автоматизировать, составьте план и проведите дальнейшее расследование, чтобы узнать, какие есть варианты. Также проверьте, если у вас есть какие-либо связанные библиотеки безопасности для использования на основе используемого языка программирования.

Другие вопросы по тегам