<summary><strong>Leer AWS hakwerk vanaf nul tot held met</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* 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)!
* 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.
'n Kritiese aspek van Android-ontwikkeling behels die korrekte hantering van WebViews. Hierdie gids beklemtoon sleutelkonfigurasies en sekuriteitspraktyke om risiko's geassosieer met WebView-gebruik te verminder.
Standaard laat WebViews lêertoegang toe. Hierdie funksionaliteit word beheer deur die `setAllowFileAccess()` metode, beskikbaar sedert Android API-vlak 3 (Cupcake 1.5). Aansoeke met die **android.permission.READ\_EXTERNAL\_STORAGE** toestemming kan lêers vanaf eksterne stoorplekke lees deur 'n lêer-URL-skema (`file://path/to/file`) te gebruik.
* **Universele Toegang vanaf Lêer-URL's**: Hierdie verouderde funksie het kruis-oorsprongversoeke vanaf lêer-URL's toegelaat, wat 'n beduidende sekuriteitsrisiko vir moontlike XSS-aanvalle geskep het. Die verstekinstelling is gedeaktiveer (`false`) vir programme wat Android Jelly Bean en nuwer teiken.
* Om hierdie instelling te kontroleer, gebruik `getAllowUniversalAccessFromFileURLs()`.
* Om hierdie instelling te wysig, gebruik `setAllowUniversalAccessFromFileURLs(boolean)`.
* **Lêertoegang vanaf Lêer-URL's**: Hierdie funksie, ook verouderd, het toegang tot inhoud vanaf ander lêerskema-URL's beheer. Soos universele toegang, is die verstekinstelling gedeaktiveer vir verbeterde sekuriteit.
* Gebruik `getAllowFileAccessFromFileURLs()` om te kontroleer en `setAllowFileAccessFromFileURLs(boolean)` om in te stel.
Vir die deaktivering van lêersisteemtoegang terwyl steeds toegang tot bates en bronne, word die `setAllowFileAccess()` metode gebruik. Met Android R en hoër is die verstekinstelling `false`.
Die **WebViewAssetLoader** klas is die moderne benadering vir die laai van plaaslike lêers. Dit gebruik http(s)-URL's vir toegang tot plaaslike bates en bronne, in ooreenstemming met die Same-Origin-beleid, wat CORS-bestuur fasiliteer.
Dit is 'n algemene funksie wat gebruik word om willekeurige URL's in 'n webviwe te laai:
```java
webview.loadUrl("<urlhere>")
```
### **JavaScript en Intent Skema Hantering**
* **JavaScript**: Afgeskakel per standaard in WebViews, dit kan geaktiveer word deur `setJavaScriptEnabled()`. Voorsoichtigheid word aanbeveel aangesien die aktivering van JavaScript sonder behoorlike beskerming sekuriteitskwessies kan veroorsaak.
* **Intent Skema**: WebViews kan die `intent` skema hanteer, wat moontlik kan lei tot uitbuitings as dit nie sorgvuldig bestuur word nie. 'n Voorbeeld van 'n kwesbaarheid het 'n blootgestelde WebView parameter "support\_url" ingesluit wat uitgebuit kon word om kruis-webwerf skripsing (XSS) aanvalle uit te voer.
'n Funksie word deur Android voorsien wat **JavaScript** in 'n WebView moontlik maak om **nagtiewe Android-app-funksies** aan te roep. Dit word bereik deur die `addJavascriptInterface`-metode te gebruik, wat JavaScript integreer met nagtiewe Android-funksionaliteite, genoem as 'n _WebView JavaScript-brug_. Voorsoorsigtigheid word aanbeveel aangesien hierdie metode alle bladsye binne die WebView toelaat om toegang te verkry tot die geregistreerde JavaScript-brug-objek, wat 'n sekuriteitsrisiko inhou as sensitiewe inligting deur hierdie brûe blootgestel word.
* **Uiterste versigtigheid is nodig** vir programme wat Android-weergawes onder 4.2 teiken weens 'n kwesbaarheid wat afgeleë kode-uitvoering deur skadelike JavaScript moontlik maak deur refleksie te benut.
* Om risiko's te verminder, **beperk JavaScript-bruggebruik** tot kode wat saam met die APK gestuur word en voorkom dat JavaScript vanaf afgeleë bronne gelaai word. Stel vir ouer toestelle die minimum API-vlak op 17 in.
* 'n Gedokumenteerde metode maak dit moontlik om RCE deur refleksie te bereik deur 'n spesifieke lading uit te voer. Die `@JavascriptInterface`-annotasie voorkom egter ongemagtigde metode-toegang en beperk die aanvalsoppervlak.
* **Afgeleë foutopsporing** is moontlik met **Chrome Developer Tools**, wat interaksie en willekeurige JavaScript-uitvoering binne die WebView-inhoud moontlik maak.
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* As jy wil sien dat jou **maatskappy geadverteer word in HackTricks** of **HackTricks aflaai in PDF-formaat** Kontroleer die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
* 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 PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslag.