🟢
Web Application Penetration Testing
  • Inicio
  • General
    • Metodologías y estándares
    • Aplicaciones vulnerables
  • Reconocimiento y recolección de información
    • Web Application Firewall (WAF)
    • Domain Name System (DNS)
    • Subdominios y Virtual Host (VHost)
    • SSL/TLS y algoritmos de cifrados
    • Certificados
    • Tecnologías web
  • Escaneo y enumeración
    • HTTP security headers
    • HTTP methods (verbs)
    • Crawling y spidering
    • Fuzzing
      • Directorios
      • Archivos
      • Extensiones
      • Parámetros
        • GET
        • POST
      • Wordlists
    • Compresión y ofuscación
    • Herramientas automatizadas
  • Explotación
    • API keys
    • Clickjacking
    • HTTP methods (verbs)
    • Input data validation
    • HTTP Host header
    • Autenticación y autorización
      • Cookie
      • JSON Web Token (JWT)
      • OAuth
      • SAML
    • Same-origin policy (SOP)
      • Cross-origin resource sharing (CORS)
    • Cross-site scripting (XSS)
    • Cross-site request forgery (CSRF)
    • File upload
    • Path traversal & file inclusion
    • Command injection
      • Node.js
    • SQL injection (SQLi)
      • MySQL / MariaDB
      • Microsoft SQL Server
      • PostgreSQL
      • Oracle
      • sqlmap
    • NoSQL injection (NoSQLi)
    • XML external entity (XXE) injection
    • CRLF injection
    • XPath injection
    • LDAP injection
    • PDF injection
    • Server-side template injection (SSTI)
    • Server-side include (SSI) injection
    • Server-side parameter pollution
    • Server-side request forgery (SSRF)
    • Web cache poisoning
    • HTTP request smuggling
    • Prototype pollution
    • Type juggling
    • GraphQL
    • Open redirect
    • Content Management System (CMS)
      • WordPress
    • Websocket
    • Deserialization
    • Flash
  • Revisión de código
    • Java
  • Checklist
    • Web application penetration testing
    • Web API penetration testing
Con tecnología de GitBook
En esta página
  • SameSite
  • Strict
  • Lax
  • None
  • same-site vs same-origin

¿Te fue útil?

  1. Explotación
  2. Autenticación y autorización

Cookie

SameSite

Es un atributo de las cookies que especifica a los navegadores cuándo deben incluir las cookies de un sitio web en las solicitudes que se originan en otros sitios web.

Strict

El navegador no envía la cookie en ninguna solicitud entre sitios.

Lax

El navegador solo envía la cookie en solicitudes entre sitios, pero solo si se cumplen las dos condiciones siguientes:

  • La solicitud utiliza el método GET.

  • La solicitud fue el resultado de una navegación de nivel superior por parte del usuario, como hacer clic en un enlace.

Esto significa que la cookie no se incluye en las solicitudes entre sitios con método POST. Asimismo, la cookie no se incluye en solicitudes realizada desde JavaScript, iframes o referencias a imágenes y otros recursos.

None

El navegador no aplica ninguna medida adicional. La cookie se envía con todas las solicitudes entre sitios. Al configurar una cookie con SameSite=None, también se debe incluir el atributo Secure, que garantiza que la cookie solo se envíe a través de HTTPS. De lo contrario, los navegadores rechazarán la cookie y no se configurará.

Tipo solicitud entre sitios
Ejemplo de código
Cookies enviadas cuando

Link

<a href=""></a>

(*) No establecido SameSite=None SameSite=Lax

Prerender

<link rel="prerender" href=""/>

(*) No establecido SameSite=None SameSite=Lax

Form GET

<form method="GET" action="">

(*) No establecido SameSite=None SameSite=Lax

Form POST

<form method="POST" action="">

SameSite=None

iframe

<iframe src=""></iframe>

SameSite=None

JavaScript

var xhr = new XMLHttpRequest();

xhr.open("GET", "", false);

xhr.withCredentials = true;

xhr.send();

SameSite=None

Image

<img src=""/>

SameSite=None

(*) Desde 2021, Chrome aplica restricciones SameSite=Lax de manera predeterminada en aquellas cookies cuyo sitio emisor no especifique explícitamente un nivel de restricción mediante el atributo SameSite.

same-site vs same-origin

  • same-site: combinación de un esquema y la última parte del nombre de dominio, es decir, el dominio de nivel superior (TLD), por ejemplo .com, más un nivel adicional del nombre de dominio, que se suele denominar TLD+1.

  • same-origin: combinación de un esquema, un nombre de dominio y un número de puerto.

Solicitud desde
Solicitud a
¿Mismo same-site?

http://es.example.com/

http://example.com/

Si

http://example.com:8080/

http://example.com/

Si

http://example.org/

http://example.com/

No

https://example.com/

http://example.com/

No

AnteriorAutenticación y autorizaciónSiguienteJSON Web Token (JWT)

Última actualización hace 6 meses

¿Te fue útil?