# 4. Entrada de datos

Se tratan de vulnerabilidades derivadas de una validación incorrecta de los datos de entrada en el servidor.

Para su explotación, es recomendable hacer uso de diccionarios de payloads, según el tipo que corresponda.

## 1. Cross-site Scripting (XSS)

Es inyección de código JavaScript en valores de parámetros que son enviados al servidor.

{% hint style="info" %}
Recursos:

[https://portswigger.net/web-security/cross-site-scripting/cheat-sheet ](<https://portswigger.net/web-security/cross-site-scripting/cheat-sheet >)
{% endhint %}

{% hint style="info" %}
Herramienta:

<https://github.com/s0md3v/XSStrike>

<https://github.com/pwn0sec/PwnXSS>
{% endhint %}

## 2. SQL Injection (SQLi)

Inyección de código SQL en campos de entrada de texto.

{% hint style="info" %}
Herramientas:

[https://github.com/sqlmapproject/sqlmap ](<https://github.com/sqlmapproject/sqlmap >)
{% endhint %}

## 3. HTTP Header

Se trata de modificar el valor de las cabeceras para acceder a diferentes recursos o inyectar código

### 3.1. Host header

Envenenando la caché se puede proporcionar acceso a recursos a través de rutas diferentes.

#### 3.1.1. Open Redirect

Permite la entrada sin validar para controlar la dirección URL donde se envían peticiones, por lo que puede ayudar a ataques de suplantación de identidad.

Debemos fijarnos en la respuesta del servidor, de forma que sea de tipo 3XX y en la cabecera HTTP Location debe mostrar la URL previamente puesta en la cabecera Host.

<figure><img src="/files/ISDLDG7e2cfwTc09zbgB" alt=""><figcaption><p>Ejemplo de Open Redirect</p></figcaption></figure>

### 3.2. User-Agent

En este caso podemos inyectar código en la cabecera para que sea procesada por el servidor.

{% hint style="info" %}
Recursos:

<https://portswigger.net/web-security/host-header>

<https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/17-Testing_for_Host_Header_Injection>

<https://medium.com/@angryovalegg/host-header-injection-9714545c4851>
{% endhint %}

Hay más tipos de inyecciones como:

* LDAP
* XPATH
* CRLF


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.securiters.com/securiters-wiki/web/4.-entrada-de-datos.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
