Заметки на полях
Довольно часто в 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. После этого - отправляем запрос на активное сканирование.
Для енкодинга нужных параметров мы используем следующие скрипты (https://github.com/mis-team/burpscripts):
1. В скрипте param-replacer.py необходимо указать:
- header и/или GET/POST параметр, который необходимо енкодить,
- функции енкодинга: processHeader, processParam (в скрипте написан base64)
- место, куда вставлять заенкоженный параметр (GET, POST, COOKIE).
2. Скрипт fuzz-replacer.py - альтернативный и более удобный вариант. Теперь наоборот - место енкодинга в запросе необходимо "обернуть" в FUZZ (как в знаменитом web фазере), а скрипт уже распознает его и сделает все сам.
Довольно часто в 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. После этого - отправляем запрос на активное сканирование.
Для енкодинга нужных параметров мы используем следующие скрипты (https://github.com/mis-team/burpscripts):
1. В скрипте param-replacer.py необходимо указать:
- header и/или GET/POST параметр, который необходимо енкодить,
- функции енкодинга: processHeader, processParam (в скрипте написан base64)
- место, куда вставлять заенкоженный параметр (GET, POST, COOKIE).
2. Скрипт fuzz-replacer.py - альтернативный и более удобный вариант. Теперь наоборот - место енкодинга в запросе необходимо "обернуть" в FUZZ (как в знаменитом web фазере), а скрипт уже распознает его и сделает все сам.