Статья для участия в конкурсена codeby
Многие видели hackerone выложили курс по безопасности веба с видеоуроками как по мне уроки для совсем начинающих но к ним есть практические задания которые оказались очень даже интересными и тут я опишу некоторые решения которые получились у меня.
level 0: Breakerbank
Идем по ссылке
Видим простой интерфейс «банка» с возможностью перевода .
В сорцах есть интересные комментарии
Значит нам дали четкое задание что и где искать.
CSRF
Сразу видим в форме нет токена проверяем при помощи burp csrf poc generator
Работает!
Если ввести в поле amount отрицательное число покажут ссылку на правильно оформленный отчет для этой уязвимости.
Можно использовать в качестве примера оформления отчетов в багбаунти.
Reflected XSS
В глаза бросается ссылка для отправления платежа.
Но параметр to фильтруется и у меня придумать вектор так и не получилось но если изменить ссылку до вида
Параметр amount не фильтруется просто вставляем любой вектор, например это "><svg onload=alert(1)> и радуемся жизни.
Authorization Bypass/Direct Object Reference
Тут я не совсем уверен что они именно это имели в виду но есть ошибка если в POST запрос добавить опцию from то приложение покажет что мы перевели не со своего счета а с указанного нами счета.
---- Добавлено позже ----
Level 1: Breakbook
Открываем ссылку
Смотрим исходники.
CSFR
Снова CSRF правда здесь все сложнее есть токен
Посмотреть вложение 15842
Токен подозрительно похож на md5 пробуем онлайн сервисы. Хеш не находится. Пробуем взять хеш от имени пользователя и он совпадает с тем что есть у нас значит в форму просто подставляется хеш и все будет работать.
Stored XSS
Простой вектор с ссылкой
Forced Browsing
У каждого поста есть ссылка
Возможно это не баг но в данном случае он полностью подходит под описание.
---- Добавлено позже ----
Level 2: Breaker Profile
Stored XSS
Идем в редактирование профиля и видим ссылку на картинку пробуем поставить что-то типа этого:
Получаем
Посмотреть вложение 15843
Еще одна XSS в форме description добавляем кавычек к цвету
И получаем такой код
Посмотреть вложение 15844
Reflected XSS
Идем по ссылке
Unrelated Bonus
Не представляю что имели разработчики под этим может перебор адишников интересны ваши варианты..
По идее тут еще 3 баги но что в сторону еще xss что в непонятные бонусы ничего не нашел.
Многие видели hackerone выложили курс по безопасности веба с видеоуроками как по мне уроки для совсем начинающих но к ним есть практические задания которые оказались очень даже интересными и тут я опишу некоторые решения которые получились у меня.
level 0: Breakerbank
Идем по ссылке
Ссылка скрыта от гостей
Видим простой интерфейс «банка» с возможностью перевода .
В сорцах есть интересные комментарии
HTML:
<!--
In this level, there are 4 vulnerabilities, falling into the following classes:
CSRF
Reflected XSS
Authorization Bypass/Direct Object Reference
Have fun!
-->
и
<!--P.S. You can see a sample bug report for this level here, once you've poked around a bit (Hint: think about how you would transfer funds from one person to another. Arithmetic!). There are a number of other hints around. Watch the source! -->
CSRF
Сразу видим в форме нет токена проверяем при помощи burp csrf poc generator
Работает!
Если ввести в поле amount отрицательное число покажут ссылку на правильно оформленный отчет для этой уязвимости.
Код:
Here's a simple bug report for level 0. There are quite a few other bugs to find, so don't think you can get away with just this one!
Title: Cross-Site Request Forgery
Severity: Critical
Description: The "Transfer Funds" functionality is vulnerable to CSRF due to no session-specific random token being attached to the form.
Reproduction Steps:
1) Go to the Transfer Funds page
2) Submit a funds transfer
3) Note that the only data transmitted is the destination and the amount.
You can also use the following proof of concept to submit an automatic transfer:
<body onload="document.forms[0].submit()">
<form action="http://h101levels.appspot.com/levels/0/" method="POST">
<input type="hidden" name="amount" value="1000000">
<input type="hidden" name="to" value="1625">
</form>
</body>
Impact: Due to the simple nature of this vulnerability, it's possible for an attacker to transfer funds from any victim whom he can convince to access a page controlled by the attacker. In this proof of concept, it's done via form autosubmission in plain view, but this could be performed in a hidden IFrame, leaving the user no clue that an attack has happened at all.
Mitigation: Proper CSRF tokens should be used on all forms. You can read more here: https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)
Affected Assets: http://h101levels.appspot.com/levels/0
Reflected XSS
В глаза бросается ссылка для отправления платежа.
Ссылка скрыта от гостей
Но параметр to фильтруется и у меня придумать вектор так и не получилось но если изменить ссылку до вида
Ссылка скрыта от гостей
Параметр amount не фильтруется просто вставляем любой вектор, например это "><svg onload=alert(1)> и радуемся жизни.
Authorization Bypass/Direct Object Reference
Тут я не совсем уверен что они именно это имели в виду но есть ошибка если в POST запрос добавить опцию from то приложение покажет что мы перевели не со своего счета а с указанного нами счета.
---- Добавлено позже ----
Level 1: Breakbook
Открываем ссылку
Ссылка скрыта от гостей
Смотрим исходники.
HTML:
<!--
In this level, there are 4 vulnerabilities, falling into the following classes:
CSRF
Stored XSS
Forced Browsing
Have fun!
-->
Снова CSRF правда здесь все сложнее есть токен
Посмотреть вложение 15842
Токен подозрительно похож на md5 пробуем онлайн сервисы. Хеш не находится. Пробуем взять хеш от имени пользователя и он совпадает с тем что есть у нас значит в форму просто подставляется хеш и все будет работать.
Stored XSS
Простой вектор с ссылкой
http://a"onmouseover="alert(document.cookie
Forced Browsing
У каждого поста есть ссылка
Ссылка скрыта от гостей
с айдишником поста пробуем перебирать айтишники и видим посты других пользователей.Возможно это не баг но в данном случае он полностью подходит под описание.
---- Добавлено позже ----
Level 2: Breaker Profile
Код:
<!--
In this level, there are 7 vulnerabilities, falling into the following classes:
Stored XSS
Reflected XSS
Unrelated Bonus
Have fun!
-->
Stored XSS
Идем в редактирование профиля и видим ссылку на картинку пробуем поставить что-то типа этого:
http://breaker-studentcenter.appspot.com/%22%3E%3Cimg%20src=x%20onerror=alert(1)%3E.png)
Получаем
Посмотреть вложение 15843
Еще одна XSS в форме description добавляем кавычек к цвету
И получаем такой код
Посмотреть вложение 15844
Reflected XSS
Идем по ссылке
Ссылка скрыта от гостей
страница ошибки с выводом данных вставляем простой вектор и имеем XSS:https://levels-a.hacker101.com/levels/2/?id=5283636286849024%22%3E%3Csvg%20onload=alert(1)%3E
Unrelated Bonus
Не представляю что имели разработчики под этим может перебор адишников интересны ваши варианты..
По идее тут еще 3 баги но что в сторону еще xss что в непонятные бонусы ничего не нашел.
Вложения
-
1518683948221.png21,7 КБ · Просмотры: 218
-
1518684194698.png28,4 КБ · Просмотры: 220
-
1518684208044.png7,4 КБ · Просмотры: 215
-
1518684489741.png15,7 КБ · Просмотры: 208
-
1518684588375.png102,1 КБ · Просмотры: 193
-
1518684673022.png98,8 КБ · Просмотры: 225
-
1518684708697.png58,4 КБ · Просмотры: 220
-
1518684753998.png131,8 КБ · Просмотры: 201
Последнее редактирование: