1 puntos por GN⁺ 2025-04-26 | 1 comentarios | Compartir por WhatsApp
  • En el editor de Substack se produce un error de red al ingresar ciertas rutas del sistema
  • La WAF (firewall de aplicaciones web) bloquea estas rutas para prevenir ataques de path traversal y ataques de inyección de comandos
  • Se destaca la importancia de equilibrar seguridad y usabilidad
  • Hace falta una mejor solución para escritores técnicos
  • Se puede resolver el problema usando una ruta alternativa

Cuando /etc/h*sts interfiere con el editor de Substack: la aventura del filtrado de contenido web

Un misterioso error de red

  • Durante la redacción de una publicación técnica sobre resolución DNS, apareció un error inesperado
  • Al escribir la ruta /etc/h*sts, se produce un error de red y falla el guardado automático
  • La página de estado de Substack muestra que el servicio funciona con normalidad

Comienza la investigación

  • El error aparece al escribir una ruta de archivo específica; si se modifica la ruta, funciona normalmente
  • Rutas como /etc/h*sts provocan errores, mientras que variantes alteradas no causan problemas

¿Qué está pasando internamente?

  • En las herramientas de desarrollo del navegador se confirma una respuesta 403 Forbidden
  • Cloudflare está involucrado

Entendiendo los filtros de seguridad de aplicaciones web

Explicación breve de una WAF

  • Un WAF (firewall de aplicaciones web) actúa como guardia de seguridad de un sitio web
  • Bloquea solicitudes sospechosas

Ataques de path traversal: por qué preocupan

  • Un ataque de path traversal intenta acceder a archivos sensibles del sistema
  • Rutas como /etc/h*sts pueden convertirse en objetivo de ataque

Inyección de comandos: otro problema de seguridad

  • Un ataque de inyección de comandos busca inducir la ejecución de comandos del sistema
  • Al mencionar rutas del sistema, el filtro puede bloquear el contenido

El misterio se profundiza: ejemplos históricos

  • Se encontraron casos similares de uso de rutas en otras publicaciones de Substack
  • Es posible que el comportamiento del filtrado haya cambiado en algún momento específico

Seguridad vs. usabilidad: un equilibrio delicado

  • Aunque el filtro de Substack busca proteger, se convierte en un obstáculo para los escritores técnicos
  • Hay margen de mejora: mensajes de error claros, reconocimiento del contenido técnico y soluciones documentadas

Revisando la respuesta HTTP

  • Se confirma el código de estado 403 Forbidden a nivel de API

Mejores soluciones para plataformas de contenido técnico

  1. Filtrado contextual: reconocer rutas del sistema dentro de bloques de código o discusiones técnicas
  2. Mensajes de error claros: explicar que el bloqueo proviene de un filtro de seguridad en vez de mostrar “error de red”
  3. Soluciones documentadas: ofrecer una forma de discutir rutas sensibles

Conclusión: la intersección entre seguridad y escritura técnica

  • El problema del editor de Substack revela los desafíos complejos entre la seguridad y la redacción técnica

  • Lo que para un filtro de seguridad puede parecer un patrón de ataque en realidad puede ser contenido legítimo

  • Es posible resolver el problema usando una ruta alternativa

  • Se invita a compartir en los comentarios experiencias similares con problemas de filtrado en otras plataformas

1 comentarios

 
GN⁺ 2025-04-26
Opiniones de Hacker News
  • Quienes configuran reglas de WAF en un CDN a menudo no entienden bien los sitios y servicios que tratan contenido técnico. No solo Cloudflare; Akamai también sufre el mismo problema

    • Si es un sitio que trabaja con bases de datos, activar las reglas básicas de prevención de inyección SQL puede romper el sitio
    • También hay conjuntos de reglas de inclusión de archivos, así que se bloquean cosas como /etc/hosts o /etc/passwd
    • Creo que es importante equilibrar seguridad y usabilidad. Aplicar todas las reglas de WAF refuerza la seguridad, pero resulta incómodo en servicios donde se necesita hablar de conceptos técnicos
    • Ajustar las reglas con detalle toma mucho tiempo. Se requieren muchos cambios para mantener las reglas y al mismo tiempo permitir los casos de uso
    • Pueden surgir problemas como que la página no cargue o que no carguen recursos. Dan ganas de desactivar las reglas
  • Esto me recuerda una anécdota sobre una plataforma de comercio electrónico: alguien programó una tienda web con una fuga de memoria y lo “resolvió” reiniciando la app si en los logs aparecía la cadena "OutOfMemoryException"

    • Otro desarrollador quiso registrar las búsquedas de los clientes, y si alguien escribía "OutOfMemoryException" en la caja de búsqueda, se producía el problema
  • Me pregunto si bloquean /etc/hosts o /etc/./hosts. Esto parece un juego interminable de golpear topos. Los hackers son más inteligentes y más decididos, así que solo se debería depender de seguridad probada

  • Opinión sobre cómo Substack podría mejorar esta situación para los escritores técnicos

    • No deberían ejecutar un WAF tonto en un endpoint donde la gente puede editar textos sobre cualquier tema
    • Es como implementar un filtro XSS en un foro de desarrollo web y evitar que los miembros puedan hablar sobre XSS
    • Deberían aprender a escapar el contenido correctamente
  • Destaca un caso interesante de la tensión entre protección y usabilidad en la seguridad web

    • Pero en este caso lo que se destaca es un bug. La tensión entre seguridad y usabilidad sí existe, pero este no es ese caso
    • La tensión entre seguridad y usabilidad normalmente es un trade-off. Si se refuerza la seguridad, la experiencia de usuario empeora
    • En este caso se muestra tanto mala seguridad como mala experiencia de usuario
  • Problema ocurrido mientras enseñaban a un equipo de programación competitiva: si aparecían tipos y palabras clave de C++ en el código, se producía un error 403

    • Cuando trabajaba en un banco, había una API a la que había que subir archivos Python, y la mayoría de los archivos Python provocaban un error 403
    • En un entorno cloud nuevo también ocurre un problema similar
  • Problema que ocurrió cuando el red team interno publicó datos que incluían intentos de XSS y otros ataques de inyección

    • El ataque en sí no funcionaba, pero la presencia de esos elementos hacía que la página interna de administración no cargara
  • Un problema antiguo que vuelve a aparecer. A esto lo llaman el problema de Scunthorpe

  • Tuve un problema similar relacionado con OpenRouter. OpenRouter es un servicio que ofrece un endpoint único para usar varios LLM

    • Si ciertos fragmentos de HTML y JavaScript se incluyen en el cuerpo de una solicitud POST, muchas solicitudes quedan bloqueadas
  • El filtrado de contenido debería depender mucho del contexto. Si el WAF está separado de aquello que debe filtrar, surgen problemas

    • Es similar al filtrado de spam. Un servidor de correo filtra según la configuración del servidor remitente
    • El filtrado basado en la entrega es más efectivo que el filtrado basado en el contenido. Lo mismo aplica a los sitios web y a los WAF