<summary><strong>Aprende hacking en AWS de cero a héroe con</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Otras formas de apoyar a HackTricks:
* Si quieres ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** revisa los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de github de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
Para experimentar con los content providers, se puede utilizar el comando `content` en dispositivos Android. No es necesariamente requerido acceso root. Por ejemplo, para ver la lista de archivos gestionados por el Media Store, se puede ejecutar el siguiente comando:
Los proveedores de medios existen en su propio espacio de nombres privado. Como se ilustra en el ejemplo anterior, para acceder a un proveedor de contenido se debe especificar el URI correspondiente `content://`. Generalmente, la información sobre las rutas, a través de las cuales se puede acceder a un proveedor, se puede recuperar mirando los manifiestos de aplicaciones (en caso de que el proveedor de contenido sea exportado por una aplicación) o el código fuente del framework de Android.
Curiosamente, en dispositivos Android, Chrome admite el acceso a proveedores de contenido a través del esquema `content://`. Esta característica permite que el navegador acceda a recursos (por ejemplo, fotos, documentos, etc.) exportados por aplicaciones de terceros. Para verificar esto, se puede insertar una entrada personalizada en el Media Store y luego acceder a ella utilizando el navegador:
Y para ver el archivo en Chrome, se puede usar una URL como la que se muestra en la siguiente imagen. Observe el identificador de archivo 747 (descubierto anteriormente) que se utiliza como sufijo en la URL.
La _Política de Mismo Origen_ (SOP) \[[12](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin\_policy)] en navegadores dicta que el contenido Javascript de la URL A solo podrá acceder al contenido en la URL B si los siguientes atributos de URL permanecen iguales para A y B:
Por supuesto, hay excepciones a las reglas anteriores, pero en general, un recurso de `https://www.example1.com` (por ejemplo, un código Javascript) no puede acceder al DOM de un recurso en `https://www.example2.com`, ya que esto introduciría fugas de información graves. **A menos que una política de Compartición de Recursos de Origen Cruzado (CORS) lo permita explícitamente, no debería ser posible para un recurso web eludir las reglas de SOP.**
Es esencial notar que Chrome considera `content://` como un _esquema local_, al igual que `file://`. En este caso, las reglas de SOP son aún más estrictas, ya que cada URL de esquema local se considera un origen separado. Por ejemplo, el código Javascript en **file:///tmp/test.html** no debería poder acceder al contenido de **file:///tmp/test2.html**, ni de ningún otro archivo en el sistema de archivos. **Consecuentemente, según las reglas de SOP, un recurso cargado a través de `content://` no debería poder acceder a ningún otro recurso `content://`.** Bueno, la vulnerabilidad CVE-2020-6516 de Chrome creó una "excepción" a esta regla.
CVE-2020-6516 \[[03](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-6516)] es un bypass de SOP en recursos cargados a través de una URL `content://`. **Por ejemplo, el código Javascript, ejecutándose desde el contexto de un documento HTML cargado desde `content://com.example.provider/test.html`, puede cargar y acceder a cualquier otro recurso cargado a través de una URL `content://`.** Esta es una vulnerabilidad grave, especialmente en dispositivos con Android 9 o versiones anteriores de Android. En estos dispositivos no se implementa el almacenamiento con alcance \[[13](https://developer.android.com/about/versions/10/privacy/changes#scoped-storage)] y, en consecuencia, los datos específicos de la aplicación bajo **/sdcard**, y más interesantemente bajo **/sdcard/Android**, pueden ser accedidos a través del proveedor de contenido Media Store del sistema.
Una prueba de concepto es bastante sencilla. Un documento HTML que utiliza `XMLHttpRequest` para acceder a URLs `content://` arbitrarias se sube bajo **/sdcard**. Luego se añade en Media Store y se renderiza en Chrome, de manera similar al ejemplo mostrado anteriormente. Para fines de demostración, se puede intentar cargar `content://media/external/file/747` que es, de hecho, la URL de Media Store del ejemplo "¡Hola, mundo!". Sorprendentemente, el código Javascript, ejecutándose dentro del origen del documento HTML, obtendrá y mostrará el contenido de **test.txt**.
**Información tomada de este informe:** [**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/)
<summary><strong>Aprende a hackear AWS de cero a héroe con</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Si quieres ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF**, consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de github de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).