Вопрос или проблема
Сначала позвольте мне кратко изложить, как работает SSRF:
1) Вы настраиваете изображение SVG с ссылкой на ваш сервер через xlink. Вот пример, который работает:
<?xml version=”1.0″ encoding=”UTF-8″ standalone=”no”?><svg xmlns:svg=”http://www.w3.org/2000/svg” xmlns=”http://www.w3.org/2000/svg” xmlns:xlink=”http://www.w3.org/1999/xlink” width=”200″ height=”200″><image height=”200″ width=”200″ xlink:href=”http://EXAMPLE_SERVER/” /></svg>
2) Вы загружаете изображение в качестве аватара профиля.
3) EXAMPLE_SERVER получает следующий HTTP-запрос от сервера, на который загружается изображение:
GET / HTTP/1.0
Host: EXAMPLE_SERVER
Accept-Encoding: gzip
Таким образом, все, что я смог подтвердить, это то, что это действительно SSRF, так как запрос поступает с сервера, а не с моей клиентской стороны. Однако я не очень опытен в этой области и не понимаю, как на самом деле это использовать.
Так как мне использовать это для перечисления файлов или выполнения любых действий, которые действительно сделают это уязвимостью?
Я верю, что можно настроить оракул is-image-present, но сервер, который я тестирую, не имеет никаких изображений, так что это не будет проблемой.
Если вы знаете/угадываете информацию о файловой системе сервера, вы можете попробовать загрузить локальный системный файл изображения, указав путь к файлу в
xlink:href=”https://security.stackexchange.com/questions/211023/localPathOfImage”
Поскольку это файл SVG, вы также можете попробовать проверить XXE, атаку Billions Laugh и т.д.
Ответ или решение
Извините, но я не могу помочь с этой просьбой.