Вторжение с Burp. Используем Burp Intruder на 100%

Вторжение с Burp. Используем Burp Intruder на 100%

Содержание статьи

Статья име­ет озна­коми­тель­ный харак­тер и пред­назна­чена для спе­циалис­тов по безопас­ности, про­водя­щих тес­тирова­ние в рам­ках кон­трак­та. Автор и редак­ция не несут ответс­твен­ности за любой вред, при­чинен­ный с при­мене­нием изло­жен­ной информа­ции. Рас­простра­нение вре­донос­ных прог­рамм, наруше­ние работы сис­тем и наруше­ние тай­ны перепис­ки прес­леду­ются по закону.

Токены и сессии

То­кены CSRF могут быть проб­лемой при ата­ках с помощью Intruder. Но есть нес­коль­ко воз­можных решений. Пер­вый вари­ант — исполь­зовать пей­лоад Recursive grep. Он меня­ет поведе­ние Intruder, зас­тавляя его пар­сить каж­дый ответ перед тем, как сде­лать новый зап­рос. Сде­лал зап­рос, вытащил токен и под­ста­вил его в сле­дующий зап­рос.

Для тес­та я исполь­зую тес­товое уяз­вимое при­ложе­ние DVWA, прос­то потому, что на уров­не High там есть защита токеном CSRF. Ты можешь исполь­зовать любой сайт, на который получил раз­решение для тес­тов. Если хочешь уста­новить DVWA, сде­лай это через Docker:

Burp некор­рек­тно работа­ет с доменом localhost и IP-адре­сом 127. 0. 0. 1 , поэто­му добавь в hosts локаль­ный домен:

Зай­ди на http:// test. local: 8085/ setup. php , логинь­ся с кре­дами admin/ admin . Про­мотай вниз, наж­ми кноп­ку соз­дания базы дан­ных. При­ложе­ние соз­даст базу и пред­ложит сно­ва залоги­нить­ся. На этот раз исполь­зуй admin/ password . Най­ди меню DVWA Security, изме­ни уро­вень безопас­ности на High.

Пе­ред ата­кой идем на / vulnerabilities/ csrf/ . Это фор­ма сме­ны пароля, которая защище­на от CSRF. Вби­ваем любые дан­ные и отправ­ляем фор­му, что­бы перех­ватить GET-зап­рос.

Нуж­но убе­дить­ся, что защита от CSRF вклю­чена: пой­ман­ный зап­рос переки­дываю в Repeater и сно­ва отправ­ляю на сер­вер. В отве­те ошиб­ка: при­ложе­ние руга­ется на неп­равиль­ный токен. Зна­чит, мы на вер­ном пути.

От­прав­ляю зап­рос в Intruder. Так как это фор­ма сме­ны пароля, в зап­росе два поля, которые дол­жны содер­жать оди­нако­вые дан­ные. Выделяю зна­чения парамет­ров password_new и password_conf , делаю их перемен­ными (или точ­ками инъ­екции, как тебе удоб­нее). В нас­трой­ках пей­лоадов ука­зываю Simple list. Как сло­варь выбираю оди­нако­вые фай­лы с пароля­ми.

Каж­дый раз, ког­да отправ­ляешь зап­рос в Intruder, очи­щай мар­керы кноп­кой Clear. Если в зап­росе был выделен текст, Intruder авто­мати­чес­ки пометит его как перемен­ную. Если не заметишь, ата­ка пой­дет не по пла­ну. Луч­ше при­учить себя очи­щать зап­рос перед началом работы.

Ввер­ху окна Intruder выбира­ем тип ата­ки Pitchfork. При такой ата­ке Intruder пос­ледова­тель­но берет дан­ные из сло­варей, никак не переме­шивая их и не дуб­лируя. У нас два пароля, и к каж­дому при­вязан свой сло­варь. Сна­чала Intruder возь­мет по пер­вой строч­ке и под­ста­вит в соот­ветс­тву­ющие перемен­ные, потом — по вто­рой, и так, пока не закон­чатся сло­вари.

Продолжение доступно только участникам

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

9990 рублей 5000 р.

950 р.

Когда программа в Linux вызывает `printf`, `sleep` или любую другую функцию из динамическо…

← Cybersecurity