Seguridad de URL: Guía de Protección contra XSS, Injection y Ataques

Aprende sobre vulnerabilidades basadas en URL y vectores de ataque. Métodos de protección contra XSS, SQL Injection, SSRF y otras amenazas.

Las URLs son bloques fundamentales de las aplicaciones web, pero también son uno de los vectores de ataque más comunes. En esta guía, examinamos las amenazas de seguridad basadas en URL y métodos de protección.

Estructura URL y Riesgos de Seguridad

Anatomía de URL

https://user:pass@example.com:443/path/page?param=value#fragment

Riesgos en Cada Componente

Cross-Site Scripting (XSS)

Tipos de XSS Basados en URL

1. Reflected XSS

# URL de ataque
https://example.com/search?q=<script>alert('XSS')</script>

2. DOM-Based XSS

# URL de ataque
https://example.com/page#<img src=x onerror=alert('XSS')>

Métodos de Protección XSS

Output Encoding

// PHP
<?= htmlspecialchars($_GET['q'], ENT_QUOTES, 'UTF-8') ?>

SQL Injection

SQL Injection desde URL

# URL de ataque
https://example.com/user?id=1' OR '1'='1

Protección contra SQL Injection

// Prepared Statements
$stmt = $pdo->prepare('SELECT * FROM users WHERE id = ?');
$stmt->execute([$_GET['id']]);

Server-Side Request Forgery (SSRF)

Ataque SSRF

# URL de ataque
https://example.com/fetch?url=http://localhost:8080/admin

Path Traversal

Ataque Directory Traversal

# URL de ataque
https://example.com/file?name=../../../etc/passwd

Open Redirect

Ataque Open Redirect

# URL de ataque
https://example.com/login?redirect=https://evil.com/phishing

Lista de Verificación de Seguridad

Conclusión

La seguridad de URL es una parte crítica de la seguridad de aplicaciones web. Trata cada parámetro URL como un vector de ataque potencial e implementa medidas de protección apropiadas.