Âîç ìîæíîñ òè:
удоб но под держи вать сеанс сес сии, пос тоян но зах ватывая иден тифика тор
сес сии самос тоятель но, даже если он обновля ется;
•
под хва тыва ются не толь ко зна чения сес сии, но и все зна чения, которые
исполь зуют ся для выпол нения нового зап роса: перемен ные, токены CSRF
и про чее.
•
Ïðîá ëåìû:
ра бота толь ко в одном потоке;
•
ес ли нуж ны «перек рес тные ата ки», исполь зующие сес сию двух поль-
зовате лей одновре мен но, то реали зовать это невоз можно, так как под-
держи вает ся толь ко одна сес сия.
•
дос таточ но неоче вид ная нас трой ка, очень лег ко запутать ся в мно гочис-
ленных меню.
•
Ñïîñîá 2. Èñïîëüçîâàíèå ïëàãèíà Stepper
Пла гин Stepper — это бес плат ный пла гин, дос тупный в модуле Burp Suite
Extender, который помога ет авто мати зиро вать пос ледова тель нос ти дей ствий.
Най ти его мож но на
.
GitHub
Раз работ чики рас ска зыва ют о Stepper сле дующее:
Stepper ðàç ðàáîòàí êàê åñòåñ òâåí íîå ðàç âèòèå èíñ òðó ìåí òà Repeater
èç Burp Suite è ïðå äîñ òàâëÿ åò âîç ìîæíîñòü ñîç äàâàòü ïîñ ëåäîâà òåëü-
íîñ òè øàãîâ è îïðå äåëÿòü ðåãóëÿð íûå âûðàæå íèÿ äëÿ èçâëå ÷åíèÿ çíà-
÷åíèé èç îòâå òîâ, êîòîðûå çàòåì ìîãóò áûòü èñïîëü çîâàíû â ïîñ ëåäó-
þùèõ øàãàõ.
Ус тановим его и вос поль зуем ся им для решения нашей задачи.
WARNING
Очень важ но! Если ты дела ешь это пос ле пре-
дыду щего экспе римен та, отклю чи соз данные
ранее пра вила обра бот ки сес сий и уда ли мак-
росы!
Мо дуль Stepper поз воля ет выб рать ряд зап росов и объ явить в каж дом из них
перемен ные, которые зап рос получа ет от пре дыду щего шага. Затем он под-
став ляет их, а так же перемен ные, получен ные из тела отве та при помощи
регуляр ных выраже ний, и переда ет сле дующе му зап росу. Такая прос тая
и понят ная связ ка.
1. Во вклад ке Proxy выбира ем три зап роса, которые нам нуж ны для получе-
ния сес сии, пер вичной аутен тифика ции и извле чения CSRF-токена. Вот
они:
,
,
. Выделив дан ные зап росы,
щел каем на них пра вой кноп кой мыши и в под разде ле Extensions нажима-
ем кноп ку Add 3 items to Stepper
→
New Sequence. Нам пред ложат выб рать
для этой пос ледова тель нос ти наз вание. Я назову ее
.
GET /login POST /login GET /login2
evil
сле ди, что бы пакеты были перене сены в пра виль ном поряд ке!
Для это го нуж но, что бы пер вые пакеты были выше пос ледних при сор-
тиров ке во вклад ке Proxy (это реша ется сор тиров кой по номерам пакетов
от мень ших к боль шим).
Âàæ íî:
2. Пе рехо дим в модуль Stepper, который появил ся во вклад ках с осталь ными
модуля ми.
3. Здесь мы уви дим нашу пос ледова тель ность и три пакета, про нуме рован-
ные от 1 до 3. Каж дый из пакетов мы можем пов торно отпра вить, нажав
на кноп ку Execute Step, что бы получить при мер тела отве та, и про тес-
тировать каж дый шаг.
4. Вы пол ним пер вый шаг, нажав кноп ку Execute Step. Соз дадим пер вую
перемен ную для хра нения и переда чи иден тифика тора сес сии, нажав
на кноп ку Add Variable в ниж нем пра вом углу модуля. Назовем перемен ную
и добавим ей усло вие поис ка в поле Condition:
Таким обра зом у нас появит ся пер вая перемен ная
сес сии, которую мы будем проб расывать по осталь ным зап росам
и исполь зовать пов торно.
session
.
session=([\d\w]+)
5. Так же добавим вто рую перемен ную токена CSRF, которую проб росим
на сле дующий зап рос отправ ки учет ных дан ных. Наж мем кноп ку Add
Variable, назовем перемен ную
и добавим усло вие нахож дения ее
в теле отве та в поле Condition со сле дующим зна чени ем:
.
csrf
name="csrf"
value="([\w\d]+)"
Вот что получи лось у меня пос ле выпол нения этих шагов.
Пер вичная нас трой ка Stepper
6. Те перь мож но перей ти к сле дующе му зап росу отправ ки учет ных дан ных
и исполь зовать в нем перемен ные
и
. Для это го перехо дим
к сле дующе му шагу (Step 2) и вмес то сущес тву ющих там зна чений сес сии
и CSRF-токена под ста вим обра щение к перемен ным в сле дующем виде:
и
. Получит ся что-то вро де это го:
session
csrf
$VAR:session$
$VAR:csrf$
POST /login
HTTP
/
1.1
Host:
ac3f1f861fe209fb80374867009900fe.web-security-academy.net
Cookie:
session=$VAR:session$
Content-Type:
application/x-www-form-urlencoded
Content-Length:
70
csrf=$VAR:csrf$&username=carlos&password=montoya
7. Вы пол ним этот вто рой шаг нажати ем на кноп ку Execute Step и получим
ответ, где нас попыта ются перенап равить на стра ницу
и выдадут
нам новый иден тифика тор сес сии, который нам сно ва нуж но зах ватить
при помощи регуляр ных выраже ний и передать на сле дующий шаг № 3.
Соз даем такую же перемен ную
как и в пун кте 4, и перехо дим
к шагу № 3.
/login2
session
8. На шаге № 3 не забыва ем сно ва изме нить зна чение сес сии на перемен-
ную
и выпол няем зап рос, так как нам прос то нуж но
получить токен CSRF для пос ледне го шага. Пос ле выпол нения зап роса
сно ва добав ляем пар синг токена CSRF в виде перемен ной
, как мы
это делали в пун кте 5 ранее.
$VAR:session$
csrf
9. Те перь мы можем поп робовать выпол нить всю пос ледова тель ность и про-
верить ее работос пособ ность. Наж мем на кноп ку Execute Sequence
в самом низу окна модуля. Видим, что пос ледова тель ность выпол нилась
кор рек тно и на пос леднем шаге мы получа ем ответ с пред ложени ем ввес-
ти OTP-код.
Те перь наша задача — запус тить дан ную пос ледова тель ность 10 тысяч
раз. Для это го перено сим POST-зап рос
из вклад ки Proxy
в Intruder.
/login2
10. В панели Intruder нам нуж но убрать сим волы под ста новок в полях сес сии
и CSRF-токена и оста вить под ста нов ку толь ко в поле
вот так:
.
Do'stlaringiz bilan baham: |