Skip to main content

Взлом Web приложений

Приложения с уязвимостями

OWASP Juice Shop Образ docker https://hub.docker.com/r/bkimminich/juice-shop 

# Запуск последней версии
docker run -d -p 3000:3000 bkimminich/juice-shop

# Или с конкретной версией
docker run -d -p 3000:3000 bkimminich/juice-shop:v15.1.0

Затем он доступен по адресу http://localhost:3000

Damn Vulnerable Web Application (DVWA) Работает через docker или на локальном веб-сервере. Инструкции по DVWA доступны по адресу https://github.com/ethicalhack3r/DVWA

docker run -d -p 80:80 vulnerables/web-dvwa

Можно запустить отдельный контейнер с MySQL 

version: '3'
services:
  dvwa:
    image: vulnerables/web-dvwa
    ports:
      - "80:80"
    environment:
      - MYSQL_HOST=db
      - MYSQL_USER=dvwa
      - MYSQL_PASSWORD=p@ssw0rd
      - MYSQL_DB=dvwa
    depends_on:
      - db
    restart: unless-stopped
  
  db:
    image: mysql:5.7
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=dvwa
      - MYSQL_USER=dvwa
      - MYSQL_PASSWORD=p@ssw0rd
    restart: unless-stopped

После запуска по адресу http://localhost нажмите "Create / Reset Database", войдите с учетными данными по умолчанию:        Логин: admin Пароль: password В разделе "DVWA Security" установите нужный уровень сложности.

Способы атаки

Существуют типовые уязвимости.

Вопрос для самопроверки: что уязвимого в этом приложении может обнаружить злоумышленник?

  • Как ведет приложение при запросах отсутствующих страниц?
  • Список существующих endpoint (Фаззинг
  • burp можно использовать для атаки clusterbomb

Категории типовых уязвимостей
Типовые уязвимости по механизмам, где они происходят:

  • Уязвимости механизмов аутентификации (Authentication Bypass)
  • Уязвимости механизмов авторизации (Vulnerabilities of authorization )
  • Уязвимости загрузки файлов (File upload vulnerabilities)
  • Уязвимости раскрытия информации ( Coordinated Vulnerability Disclosure)
  • Уязвимости в системах криптографии (Vulnerabilities in cryptography systems) и др.

Типовые уязвимости по характеру их эксплуатации:

  • Уязвимости состояния гонки (race condition)
  • Уязвимости некорректной нейтрализации управляющих конструкций при генерации веб-страниц (атаки межсайтового скриптинга) (XSS)
  • Уязвимости подделки запроса со стороны сервера (SSRF)
  • Уязвимости подделки запроса со стороны клиента (CSRF) и др.

Типовые уязвимости по технологиям, в которых они происходят:

  • Уязвимости SQL инъекций (SQL injection)
  • Уязвимости внедрения внешних сущностей в XML-документы (XXE )
  • Уязвимости инъекций в ORM-запросах (ORM injection)
  • Уязвимости инъекций в LDAP-запросах (LDAP Injection)
  • Уязвимости инъекции команд или аргументов в запросах к терминальной оболочке ОС (Command Injection)

Авторизация и аутентификация

Классификация по типам проверки подлинности:

  • Знание (пароль или ответ на вопрос безопасности, одноразовый код). Факторы знаний.
  • Обладание (физический объект - мобильный телефон или маркер безопасности - магнитная карта). Фактор владения.
  • Биометрия (персональные данные или модели поведения - конфиденциальная информация). Фактор согласованности.