MosQA #2 — материалы с митапа и поиск всех флагов с квеста

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.


25 февраля в московском офисе Mail.ru Group прошел второй митап сообщества тестировщиков MosQA. Поговорили о том, как в Badoo разработчики тоже начали писать тесты, поделились универсальной задачей для собеседования на Python, а ребята из ОК рассказали, с помощью чего они замеряют производительность Android-приложений. И чтобы прибавить драйва и мозговой активности, мы предложили участникам викторину — она прошла в формате CTF (Capture The Flag). CTF обычно проводят для специалистов по взлому и безопасности и в ходе соревнований предлагают взять флаги, эксплуатируя ту или иную уязвимость. У нас же нужно было протестировать форму добавления комментариев и сам сайт, на котором форма была расположена. Посмотреть и попробовать свои силы вы можете на сайте MosQA CTF. А для тех, кто давно ждал разбора, — добро пожаловать под кат.

Программа:


«Общий язык с разработчиками, или Почему мы начали писать тесты на Go»


Екатерина Харитонова, Sr. QA engineer, Badoo

Доклад — о нашем опыте тестирования сервисов с использованием тестовых фреймворков на PHP и Go. А еще о том, почему тестовая документация у нас не устаревает и как разработчики и тестировщики научились взаимодействовать максимально эффективно — не надоедая друг другу лишней коммуникацией.



«Как найти своего героя? Собеседуем разработчика автотестов (на Python)»


Андрей Яковлев, ведущий специалист по автоматизации тестирования, Mail.ru Group

Поделюсь интересным, на мой взгляд, кейсом, как прособеседовать и оценить разработчика автоматизированных тестов на Python на примере одной задачки.



«Замеры производительности в андроид-приложении OK.RU»


Антон Смолянин, инженер по автоматизации тестирования, проект «Одноклассники», Mail.ru Group

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



CTF Квест


Подходящую платформу для CTF нашли не сразу: есть открытые решения для CTF-безопасников, но их формат нам не подходил. В итоге за два вечера в баре (в том же, где была афтепати после митапа) Алексей Андросов doochik на коленке набросал решение. А кейсы и UI мы натягивали буквально за несколько часов до мероприятия. Тестировали уже в продакшене. Ну и как водится, нашли пару шероховатостей. О них ниже. Не судите строго, хотелось фана — и, кажется, нам удалось доставить вам удовольствие.

Ответы принимались в поле «Имя». Они были в двух форматах: кейсы и флаги. Кейсы — текст, который подходил под регулярки и являлся тестовым случаем для текстового поля. Стандартные проверки на граничные значения, обработка пользовательского ввода, etc.

Всего кейсов было 15:

  1. Пустая строка
  2. 1 символ
  3. Пробел в начале
  4. Одиночный пробел
  5. Пробел в конце
  6. Пробелы в середине
  7. 9 символов
  8. 10 символов
  9. 11 символов
  10. HTML-тег, например <h1>
  11. XSS-инъекция, например <script>alert()</script>
  12. SQL-инъекция, строка начинается с апострофа
  13. Любой символ, не входящий в [a-zа-я0-9]
  14. Не ASCII-символ, можно было подставить эмоджи
  15. Символ новой строки

Последний пункт со звездочкой. Форма экранирует символ новой строки, и, чтобы получить флаг, можно было использовать фиддлер, например:



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

  1. На 404-й странице
  2. На robots.txt
  3. OG-метках. Да-да, их тоже нужно проверять!
  4. В исходном коде страницы
  5. В куке x-token
  6. В названии ресурса, которого не было на сервере и в консоли светился 404-м статусом
  7. На странице при заходе из IE. Ну или подставив его в User-Agent)
  8. Использовав метод GET вместо POST, для урла, на который уходили данные формы.
  9. И в исходном коде страницы mosqa.ru/admin

Итого: 24 балла.

Еще раз поздравляем победителей, которые унесли с собой крутые футболки. Sonic, если ты нас читаешь, найдись! Твоя футболка ждет тебя.

Мы хотим выложить нашу платформу в OpenSource. Распространяется под лицензией MIT. Дополняйте своими кейсами и флагами, исправляйте баги, создавайте новые крутые квесты.

Мы всегда рады новым медоедам в нашем уютном чате. Мы хотим, чтобы медоедов становилось больше. Поэтому если вы готовы сделать дайджест, искать спикеров, новые площадки — вам достанется крутая футболка. А если чувствуете в себе силы подготовить доклад, то с нас худи!

P. S. Все материалы (фотографии, презентации и отдельно видео) можно найти в нашем Облаке.

Медоеды, вперед! :)
Источник: https://habr.com/ru/company/mailru/blog/491876/


Интересные статьи

Интересные статьи

В Windows 10 имеется удобная функция, которой я постоянно пользуюсь - поиск в меню "Пуск". Конкретно имею ввиду возможность нажать на клавиатуре клавишу "Пуск" и сразу начать вводить, нап...
Только что вышло очередное обновление EAP 11 для плагина под названием Big Data Tools, доступного для установки в IntelliJ IDEA Ultimate, PyCharm, and DataGrip. Можно установить его ч...
15 февраля в Нижнем Новгороде состоялся митап по тестированию и безопасности проектов. Поговорили о работе с инцидентами и баг-баунти-подходе команды Mail.ru Group, а коллеги из Ecommpay расс...
Хэллоуин прошел, а страх остался. Страх и ненависть в pcntl_fork(). Боязнь CSQR. И опасения насчет удаленной работы. Если тоже хотите поговорить об этом, встречаемся вечером 21 ноября на Таганке ...
Мы верим, что в будущем люди будут управлять своим домом с помощью голоса, а не кнопок. Поэтому сегодня Яндекс представляет платформу умного дома, которая позволит зажечь свет, убавить темпер...