Категория > Новости > Шаг за шагом. Автоматизируем многоходовые атаки в Burp Suite - «Новости»

Шаг за шагом. Автоматизируем многоходовые атаки в Burp Suite - «Новости»


17-05-2021, 00:00. Автор: Нина
та­ких уяз­вимос­тей мож­но получить не­малое воз­награж­дение.

В качес­тве испы­татель­ного стен­да прек­расно подой­дет за­дание с обра­зова­тель­ного ресур­са PortSwigger Academy, тре­бующее от нас выпол­нения сотен мно­гоша­говых пов­торя­ющих­ся дей­ствий.


 

Описание задачи


Вот как сфор­мулиро­вана тес­товая задача на сай­те PortSwigger Academy:



Двух­фактор­ная аутен­тифика­ция в этой лабора­тории уяз­вима перед брут­форсом. Ты уже получил имя поль­зовате­ля и пароль, но не име­ешь дос­тупа к верифи­каци­онно­му коду поль­зовате­ля 2FA. Что­бы решить эту проб­лему, перебо­ром най­ди код 2FA и получи дос­туп к стра­нице акка­унта Кар­лоса.


Учет­ные дан­ные жер­твы: carlos:montoya.



Осо­бен­ность этой задачи сос­тоит в том, что здесь недос­таточ­но прос­то переб­рать код одно­разо­вого пароля (One Time Password — далее OTP) с сущес­тву­ющей сес­сией, потому что пос­ле двух неп­равиль­ных попыток при­ложе­ние перес­тает счи­тать сес­сию валид­ной. Для решения задания нам пред­сто­ит выпол­нять пре­даутен­тифика­цию при помощи учет­ных дан­ных, а пос­ле это­го попытать­ся пред­ска­зать OTP-код.


 

Подробнее о задании


Нам дана стра­ница аутен­тифика­ции, которая выг­лядит сле­дующим обра­зом.


Стра­ница аутен­тифика­ции

При вво­де учет­ных дан­ных при­ложе­ние отправ­ляет сле­дующий зап­рос на сер­вер:


POST /login HTTP/1.1
Host: ace61ff51f4557d880dbab96004f009d.web-security-academy.net
Cookie: session=rcnBF1vzBD00ZSjcoswRzttRrEPIQNj2
Content-Type: application/x-www-form-urlencoded
Content-Length: 70
csrf=AxCZcrNQ1Y7x8xTI9odKun0alLM34a9a&username=carlos&password=montoya

Ес­ли мы вве­дем учет­ные дан­ные кор­рек­тно, на экра­не появ­ляет­ся сле­дующая стра­ница вво­да OTP-кода.


Стра­ница вво­да OTP

Пос­ле вво­да слу­чай­ного OTP-кода при­ложе­ние отпра­вит сле­дующий зап­рос:


POST /login2 HTTP/1.1
Host: ace61ff51f4557d880dbab96004f009d.web-security-academy.net
Cookie: session=2gt4P1gFqzyxZJIonAlFv9czYetD5pm0
Content-Type: application/x-www-form-urlencoded
Content-Length: 51
csrf=W9Nei8NhTXl5usVKeynuZ3kbjRHaVjW7&mfa-code=1234

Ес­ли мы смо­жем уга­дать OTP-код, мы решим задание. Шанс уга­дать, по сути, не так уж и мал: 1 к 10 000. С уче­том того что количес­тво попыток у нас не огра­ниче­но, пусть и тре­бует допол­нитель­ных дей­ствий, резуль­тат гаран­тирован на 100%.


Что важ­но знать, преж­де чем мы прис­тупим к решению этой задачи?



  1. При­ложе­ние исполь­зует сес­сион­ный иден­тифика­тор, который мы получа­ем при вхо­де на сайт. Он изме­няет­ся пос­ле пер­вого эта­па аутен­тифика­ции при помощи кор­рек­тных учет­ных дан­ных.

  2. Пос­ле аутен­тифика­ции у нас есть толь­ко две попыт­ки вво­да OTP-кода. Пос­ле двух неудач­ных попыток наша сес­сия инва­лиди­рует­ся и при­ходит­ся начинать весь про­цесс с начала.

  3. При­ложе­ние исполь­зует CSRF-токены, которые меня­ются при каж­дом зап­росе. Их необ­ходимо под­хва­тывать и под­менять для каж­дого нашего POST-зап­роса.


Ос­талось авто­мати­зиро­вать про­цесс получе­ния сес­сии, вво­да пер­вичных учет­ных дан­ных, под­хва­та CSRF-токенов и попыток пред­ска­зания OTP-кода. Прис­тупим!



Перейти обратно к новости