Durante una auditoría del sitio web de un tercero, encontré que el encabezado User-Agent es vulnerable a SQLi basado en el tiempo. ¿Alguien puede sugerirme cómo parchear esta vulnerabilidad?
Durante una auditoría del sitio web de un tercero, encontré que el encabezado User-Agent es vulnerable a SQLi basado en el tiempo. ¿Alguien puede sugerirme cómo parchear esta vulnerabilidad?
Una inyección de SQL basada en tiempo no es diferente de una inyección SQL ordinaria y tampoco lo está reparando. Varían en lo difícil que son para atacar, pero la defensa sigue siendo prácticamente la misma. Tampoco debe ser relevante para el método de fijación en el que lo encontró.
Esto se debe a que la forma limpia de lidiar con las inyecciones de SQL es casi siempre usando consultas parametrizadas (declaraciones preparadas). Si está auditando el código fuente, sería mejor si en lugar de solo marcar las consultas SQL que cree que son explotables, reescriba todas las consultas de SQL sin procesar a las declaraciones preparadas adecuadas. Eso hace que la próxima auditoría sea mucho más fácil y no tiene que perder tiempo pensando en escapar patrones y técnicas de evasión.
Lea otras preguntas en las etiquetas web-application sql-injection