Skip to content

NzKoff/shift_summer_2019

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SHIFT AppSec 2019

Стек технологий

  • Python3 + Flask (uwsgi-nginx-flask-docker)
  • Docker
  • Git
  • Firefox
  • Burp Suite
  • некоторые зависимости для python

Как работаем

Шаги:

  1. Регистрируемся на github.com, если нет аккаунта
  2. Капитан команды делает fork репозитория к себе (кнопка fork вверху проекта)
  3. Капитан команды добавляет в collaborators проекта остальных участников (страница проекта - Settings - Collaborators - Search by username)
  4. Теперь репозиторий команды может редактировать любой учатник команды со своего аккаунта
  5. Переходим (создаем) в директорию с названием уязвимости (если создаем, то используем lowercase и _ вместо пробелов, например jwt_insecure)
  6. Копируем шаблон ../example/README.md в свою рабочую директорию
  7. Используем директорию, редактируем README.md
  8. Ресерчим!
  9. Изменения заливаем через коммиты

Запрещается:

  • изменять файлы в чужой рабочей директории (чужая уязвимость)
  • сохранять нетекстовые файлы (исключение - картинки)
  • лучше не переводить на русский специфичные определения

Результаты

Что хочется увидеть в итоге:

  1. Полный ресерч по пунктам в файле README.md в директории с атакой/уязвимостью
  2. Улучшение уязвимого приложения: расширить векторы возможной атаки; показать другие возможности эксплуатации; улучшить внешний вид уязвимого приложения
  3. Добавить к уязвимому приложению безопасный вариант функционала. Т.е. новый метод, где атака/уязвимость не будет проявляться

Подготовка

Точно необходимо

  1. Текстовый редактор, где удобно работать с Markdown (в принципе, можно редактировать средствами Github)
  2. Firefox (можно и другой, но его удобнее настраивать)
  3. Burp Suite (ссылка)

Желательно

  1. Python3 + IDE (советую Pycharm)
  2. Git
  3. Docker

Если возникли проблемы с установкой желательного ПО - можно попробовать использовать VirtualBox (для виртуальной машины лучше ставить Ubuntu)

Если возникли проблемы только с Docker - подходите, разберемся как быть:)

Информация для ресерча

Open redirect

Ссылки:

CRLF

Ссылки:

SSRF

Ссылки:

Template Injection

CSRF

JWT insecure

LFI-RFI

Command Injection

IDOR

PHP Type Juggling

Deserialization

Шпаргалка

Markdown

Для написания информации по ресерчу используем Markdown-разметку. Что понадобится:

  • шпаргалка по синтаксису есть тут
  • лучше использовать удобный текстовый редактор (я использую Sublime Text)
  • лучше в текстовом редакторе поставить плагин для предпроссмотра Markdown-файлов (я использую этот)

Python

Будем использовать Python + Flask.

Установка окружения:

Создать виртуальное окружение (можно без него, тогда надо использовать pip3):

  • cd <directory>
  • virualenv

Появится директория venv со структурой:

├── bin
│   ├── activate
│   ├── activate.csh
│   ├── activate.fish
│   ├── easy_install
│   ├── easy_install-3.6
│   ├── flask
│   ├── pip
│   ├── pip3
│   ├── pip3.6
│   ├── python
│   ├── python3
│   └── python3.6
├── include
├── lib
│   └── python3.6
├── lib64 -> lib
├── pip-selfcheck.json
└── pyvenv.cfg

Используем бинарники отсюда: venv/bin/

Установить Flask:

  • venv/bin/pip3 install flask

Git

Установка: https://git-scm.com/book/ru/v1/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5-%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-Git

Указание авторства:

  • git config --global user.name "<your_nickname>"
  • git config --global user.email "<your_email>"

Клонирование репозитория:

  • git clone https://github.com/act1on3/shift2019.git

Перейти на новую ветку:

  • git checkout -b <branch_name>
  • git push --set-upstream origin <branch_name>

Обновить локальный репозиторий из удаленного:

  • git pull

Добавление измененных файлов и коммит своих изменений:

  • git status
  • git add <filename>
  • git commit
  • пишете описание коммита

Отправка локальных изменений в репозиторий:

  • git push

Docker

Установка:

Создать образ:

  • cd open_redirect
  • docker build -t open_redirect .
  • docker run -p 8080:80 open_redirect или добавить ключ -d для отправки в daemon-режим

Закрыть все контейнеры:

  • docker rm -f `docker ps -a -q`

Удалить образы:

  • docker images
  • docker image rm <image_name>

Удалить все промежуточные образы (создаются во время билда):

  • docker rmi `docker images -f "dangling=true" -q`

About

Репозиторий для проектов по ИБ от ЦФТ - ШИФТ 2019 лето

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published