Skip to main content
Todos los Términos Glossary

Suplantación de agente de usuario

Definition

La suplantación de agente de usuario implica la modificación de la cadena de agente de usuario que los navegadores envían para identificarse ante los servidores. Aunque a veces se utiliza legítimamente por compatibilidad, también se puede utilizar de forma maliciosa para eludir los controles de seguridad o suplantar a diferentes navegadores. Las aplicaciones no deben basarse únicamente en las cadenas de agente de usuario para las decisiones de seguridad.

Cómo funciona el user-agent spoofing

Toda solicitud HTTP de un navegador incluye una cabecera User-Agent, una cadena que nombra el navegador, su versión, el motor de renderizado y el sistema operativo. El user-agent spoofing consiste en cambiar esa cadena para que el cliente afirme ser algo que no es, por ejemplo un teléfono que se presenta como un ordenador de escritorio, o un script que se presenta como Chrome. Es trivial de hacer: la configuración de desarrollador del navegador, las extensiones, los flags de línea de comandos y las bibliotecas HTTP permiten establecer un valor arbitrario, y el servidor no tiene forma integrada de verificarlo. La misma libertad existe en la propiedad JavaScript navigator.userAgent y en los más recientes User-Agent Client Hints, que informan datos similares de forma estructurada.

Por qué importa

Como el User-Agent es autodeclarado y no se verifica, tratarlo como fiable es una fuente recurrente de debilidad. Los bots maliciosos, los scrapers y las herramientas de credential stuffing falsifican rutinariamente una cadena de navegador común para colarse entre filtros que bloquean por user-agent, o para hacerse pasar por crawlers de motores de búsqueda. Los atacantes también falsifican para sondear comportamientos específicos de una versión o para recibir contenido destinado a otra plataforma. En el lado defensivo, el spoofing rompe cualquier control que asuma que la cadena es precisa: las analíticas se distorsionan y las reglas de seguridad basadas en el User-Agent pueden eludirse por completo. La lección de fondo es que un cliente puede afirmar ser lo que sea, así que la cabecera debería informar el comportamiento, nunca autorizarlo.

Cómo defenderse y cómo se relaciona cside

Nunca tomes una decisión de seguridad basándote solo en el User-Agent. En su lugar, corrobóralo contra evidencias más difíciles de falsificar: verifica las afirmaciones de los crawlers de búsqueda mediante DNS inverso, revisa el orden del handshake TLS y de las cabeceras, y compara el navegador declarado con las capacidades y el comportamiento de renderizado que realmente muestra. Aquí es donde ayudan la inteligencia de dispositivo y la detección de bots de cside: contrastan el user-agent declarado con muchas señales independientes, de modo que una solicitud que afirma ser Chrome de escritorio mientras presenta una huella headless o incoherente se marca como falsificada. La detección se apoya en la discrepancia entre lo que dice un cliente y lo que demostrablemente es, no en confiar en la cadena, que cualquier cliente puede reescribir en segundos.

Definición

¿Falsificar un user-agent es ilegal o va contra las normas?

Cambiar tu propio user-agent es legal y habitual; los desarrolladores lo hacen para probar sitios y las herramientas de privacidad lo hacen para reducir el rastreo. Se convierte en un problema cuando se combina con abuso, como esquivar límites de tasa, hacerse pasar por Googlebot o saltarse controles de acceso, lo que normalmente viola los términos de servicio de un sitio y, según la intención, otras leyes.

Definición

¿Puede un servidor detectar de forma fiable un user-agent falsificado?

No a partir de la cadena en sí, pero a menudo sí por el contexto. Si una solicitud afirma ser Safari en iOS pero negocia un handshake TLS o admite APIs de JavaScript que el Safari real no admitiría, la discrepancia revela el engaño. Una detección fiable compara la identidad declarada con muchas señales independientes y más difíciles de falsear.

Got more questions

Talk to a security expert

We answer client-side security questions every day. Bring yours.

Reservar una demo