Энкодинг параметров в Burp Suite

࿗ 𝕯𝖚𝖐𝖊 𝕰𝖚𝖌𝖊𝖓𝖊 ࿗

Администратор
Команда форума
ГЛАВНЫЙ АДМИН
Админ

࿗ 𝕯𝖚𝖐𝖊 𝕰𝖚𝖌𝖊𝖓𝖊 ࿗

Администратор
Команда форума
ГЛАВНЫЙ АДМИН
Админ

Довольно часто в Burp Suite требуется профазить какой-либо заенкоженный параметр, например, поле username в basic authorization, или значение userid внутри заенкоженного параметра cookie. Например,
session=eyJhdXRoIjp7InVzZXJpZCI6ImFkbWluIiwidXNlcnRva2VuIjoiMTIzNDUifX0= ( {"auth":{"userid":"admin","usertoken":"12345"}} ).

В таком случае из стандартных средств нам подойдёт только Burp Intruder. Однако тогда не получится использовать Active Scan и дополнительные экстеншны, а устраивать танцы с бубнами вокруг составления итогового payload с последующим енкодингом - потраченное время и никакого удовольствия.

Но нас может выручить полезный экстеншн - Python Scripter. После его подключения появляется отдельная вкладка - Script, куда мы можем вписать свои скрипт для питона. Таким образом алгоритм работы следующий: декодим нужную cookie в Repeater или Intruder, устанавливаем место для фазинга (через scan manual insertion points или спец символ в Intruder), а во вкладке Script - пишем скрипт по енкодингу в base64. После этого - отправляем запрос на активное сканирование.

Для энкодинга нужных параметров мы используем следующие скрипты (
Пожалуйста , Вход или Регистрация чтобы увидеть ссылку!
):

1. В скрипте param-replacer.py необходимо указать:
- header и/или GET/POST параметр, который необходимо енкодить,
- функции енкодинга: processHeader, processParam (в скрипте написан base64)
- место, куда вставлять заенкоженный параметр (GET, POST, COOKIE).

2. Скрипт fuzz-replacer.py - альтернативный и более удобный вариант. Теперь наоборот - место енкодинга в запросе необходимо "обернуть" в FUZZ (как в знаменитом web фазере), а скрипт уже распознает его и сделает все сам.
 
Последнее редактирование:
Сверху Снизу