{{#include ../../banners/hacktricks-training.md}} **Dit is 'n opsomming van die pos [https://census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/](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 onderstaande opdrag gebruik word: ```bash $ content query --uri content://media/external/file ``` Vir 'n meer mensvriendelike uitset, wat slegs die identifiseerder en pad van elke geïndekseerde lêer vertoon: ```bash $ content query --uri content://media/external/file --projection _id,_data ``` Inhoudverskaffers is geïsoleer in hul eie private naamruimte. Toegang tot 'n verskaffer vereis die spesifieke `content://` URI. Inligting oor die paaie om toegang tot 'n verskaffer te verkry, kan verkry word uit toepassingsmanifeste of die Android-raamwerk se bronkode. ### Chrome se Toegang tot Inhoudverskaffers Chrome op Android kan toegang verkry tot inhoudverskaffers 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 Media Store ingevoeg word en dan via Chrome toeganklik gemaak word: Voeg 'n pasgemaakte inskrywing in die Media Store in: ```bash 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: ```bash 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 gesien word met 'n URL wat saamgestel is met die lêer se identifiseerder. Byvoorbeeld, om lêers wat verband hou met 'n spesifieke toepassing te lys: ```bash content query --uri content://media/external/file --projection _id,_data | grep -i ``` ### Chrome CVE-2020-6516: Same-Origin-Policy Bypass Die _Same Origin Policy_ (SOP) is 'n sekuriteitsprotokol in blaaiers wat webbladsye beperk om met hulpbronne van verskillende oorspronge te kommunikeer tensy dit eksplisiet toegelaat word deur 'n Cross-Origin-Resource-Sharing (CORS) beleid. Hierdie beleid het ten doel om inligtingslekke en cross-site request forgery te voorkom. Chrome beskou `content://` as 'n plaaslike skema, wat strenger SOP-reëls impliseer, waar elke plaaslike skema-URL as 'n aparte oorsprong behandel word. Egter, CVE-2020-6516 was 'n kwesbaarheid in Chrome wat 'n omseiling van SOP-reëls vir hulpbronne wat via 'n `content://` URL gelaai is, toegelaat het. In werklikheid kon JavaScript-kode van 'n `content://` URL toegang verkry tot ander hulpbronne wat via `content://` URL's gelaai is, wat 'n beduidende sekuriteitskwessie was, veral op Android-toestelle wat weergawes voor Android 10 gebruik, waar geskaalde stoor nie geïmplementeer was nie. Die bewys-van-konsep hieronder demonstreer hierdie kwesbaarheid, waar 'n HTML-dokument, nadat dit onder **/sdcard** opgelaai is en by die Media Store gevoeg is, `XMLHttpRequest` in sy JavaScript gebruik om toegang te verkry tot en die inhoud van 'n ander lêer in die Media Store te vertoon, terwyl die SOP-reëls omseil word. Proof-of-Concept HTML: ```xml PoC ``` {{#include ../../banners/hacktricks-training.md}}