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

в 11:51, , рубрики: qa, Блог компании Mail.Ru Group, медоеды, тестирование, Тестирование IT-систем, Тестирование веб-сервисов, Тестирование мобильных приложений

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

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

Программа:

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

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

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

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

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

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

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

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

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

«Замеры производительности в андроид-приложении 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. Символ новой строки

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

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

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

  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. Все материалы (фотографии, презентации и отдельно видео) можно найти в нашем Облаке.

Медоеды, вперед! :)

Автор: ko4evnik

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js