ZAP Scanning Report

Generated on jue, 20 abr 2023 23:17:14

Summary of Alerts

Nivel de riesgo Number of Alerts
Alto
1
Medio
3
Bajo
7
Informativo
5

Alertas

Nombre Nivel de riesgo Number of Instances
Ruta Transversal Alto 4
Ausencia de fichas (tokens) Anti-CSRF Medio 114
Cabecera Content Security Policy (CSP) no configurada Medio 167
Falta de cabecera Anti-Clickjacking Medio 146
Cookie No HttpOnly Flag Bajo 5
Cookie sin el atributo SameSite Bajo 5
Cross-Domain JavaScript Source File Inclusion Bajo 92
Divulgación de la marca de hora - Unix Bajo 184
Server Leaks Version Information via "Server" HTTP Response Header Field Bajo 993
Strict-Transport-Security Header Not Set Bajo 858
X-Content-Type-Options Header Missing Bajo 628
Divulgación de información - Comentarios sospechosos Informativo 364
Incompatibilidad de caracteres Informativo 70
Modern Web Application Informativo 92
Re-examine Cache-control Directives Informativo 430
User Controllable HTML Element Attribute (Potential XSS) Informativo 34

Passing Rules

Nombre Rule Type Threshold Strength
Cross Site Scripting (Persistente) - Prime Active MEDIUM MEDIUM
Cross Site Scripting (Persistente) - Spider Active MEDIUM MEDIUM
Divulgación del código fuente - CVE-2012-1823 Active MEDIUM MEDIUM
Ejecución remota de código - CVE-2012-1823 Active MEDIUM MEDIUM
Redirección Externa Active MEDIUM MEDIUM
Inclusión Remota de Archivos Active MEDIUM MEDIUM
Server Side Include Active MEDIUM MEDIUM
Cross Site Scripting (Reflected) Active MEDIUM MEDIUM
Divulgación del código fuente - / carpeta WEB-INF Active MEDIUM MEDIUM
Cross Site Scripting XSS (Persistente) Active MEDIUM MEDIUM
Vulnerabilidades de OpenSLL HeartBleed Active MEDIUM MEDIUM
Private IP Disclosure Passive MEDIUM -
Session ID in URL Rewrite Passive MEDIUM -
JSF ViewState inseguro Passive MEDIUM -
Librería JS Vulnerable (Gracias a Retire.js) Passive MEDIUM -
Cookie Without Secure Flag Passive MEDIUM -
Content-Type Header Missing Passive MEDIUM -
Application Error Disclosure Passive MEDIUM -
Divulgación de información - Mensajes de error de depuración Passive MEDIUM -
Divulgación de Información - Información sensible en URL Passive MEDIUM -
Divulgación de Información - Información sensible en el Encabezado de Referencia HTTP Passive MEDIUM -
Open Redirect Passive MEDIUM -
Envenenamiento de Cookie Passive MEDIUM -
Juego de caracteres controlado por el usuario Passive MEDIUM -
WSDL File Detection Passive MEDIUM -
Amplia gama de Cookies Passive MEDIUM -
Viewstate Passive MEDIUM -
Exploración de directorios Passive MEDIUM -
Vulnerabilidad de OpenSSL de Heartbleed (indicativo) Passive MEDIUM -
El servidor divulga información mediante un campo(s) de encabezado de respuesta HTTP ''''X-Powered-By'''' Passive MEDIUM -
X-Backend-Server Header Information Leak Passive MEDIUM -
Secure Pages Include Mixed Content Passive MEDIUM -
HTTP to HTTPS Insecure Transition in Form Post Passive MEDIUM -
HTTPS to HTTP Insecure Transition in Form Post Passive MEDIUM -
User Controllable JavaScript Event (XSS) Passive MEDIUM -
Gran redirección detectada (posible fuga de información confidencial) Passive MEDIUM -
Retrieved from Cache Passive MEDIUM -
X-ChromeLogger-Data (XCOLD) Header Information Leak Passive MEDIUM -
CSP Passive MEDIUM -
X-Debug-Token Information Leak Passive MEDIUM -
Username Hash Found Passive MEDIUM -
X-AspNet-Version Response Header Passive MEDIUM -
PII Disclosure Passive MEDIUM -
Regla de exploración pasiva de los archivos de órdenes Passive MEDIUM -
Estadísticas de la regla de exploración pasiva Passive MEDIUM -
Divulgación de hash Passive MEDIUM -
Desconfiguración de Dominio cruzado Passive MEDIUM -
Método de autenticación débil Passive MEDIUM -
Reverse Tabnabbing Passive MEDIUM -

Sitios

https://osteosalud.com.pe

HTTP Response Code Number of Responses
404 Not Found
424
405 Method Not Allowed
829
200 OK
9063
301 Moved Permanently
4229
400 Bad Request
8
302 Found
5
401 Unauthorized
148

No Authentication Statistics Found

Parameter Name Type Flags Times Used # Values

Alert Detail

Alto
Ruta Transversal
Descripción
La técnica de ataque Path Traversal permite a un atacante acceder a los archivos, directorios y comandos que potencialmente residen fuera del directorio raíz de documentos web. Un atacante puede controlar una URL de tal forma que el sitio web ejecutará o mostrará la información de los archivos que son arbitrarios en cualquier parte del servidor web. Cualquier dispositivo que se exponga a una interfaz que se basa en HTTP es potencialmente vulnerable a un Path Traversal.

La mayoria de los sitios web prohíben el acceso de los usuarios a algún sitio específico del sistema de los archivos, normalmente denominado directorio "raíz del documento web" o "raíz CGI". Estos directorios poseen los archivos que estan destinados al acceso del usuario y el ejecutable que es necesario para poder controlar la funcionalidad correcta de la aplicación web. Para poder ingresar a los archivos o activar los comandos en cualquier zona del sistema de los archivos, los ataquesde trayectoria de rutas van a utilizar la capacidad de las secuencias de todos los caracteres especiales.

El ataque Path Traversal más elemental utiliza la secuencia de los caracteres especiales "../" para poder modificar la ubicación del recurso que es requerido en la URL. Aunque la gran mayoría de los servidores web que son populares van a evitar que esta técnica se escape de la raíz del documento web, las codificaciones que son alternativas de la secuencia "../" pueden impedir los filtros de seguridad. Estas variaciones del método incluyen la codificación Unicode válida y no válida ("..%u2216" o "..%c0%af") del carácter de la barra oblicua, los caracteres de la barra invertida ("..\") en los servidores basados en Windows, los caracteres codificados de la URL "%2e%2e%2f"), y la codificación doble de la URL ("..%255c") del carácter de la barra invertida.

Inclusive si el servidor web impide de forma correcta los intentos de trayectoria en la ruta de la URL, una aplicación web en sí misma puede ser muy vulnerable provocado por el manejo de forma incorrecta de la entrada que fue proporcionada por el usuario. Este es un problema muy común de las aplicaciones web que utilizan los mecanismos de plantilla o cargan algún texto estático de los archivos. En las variaciones de los ataques, el valor del parámetro de la URL original se modifica por el nombrede uno de los archivos de órdenes dinámicos de la aplicación web. Provocando que, los resultados puedan mostrar el código fuente porque el archivo se interpreta como un texto en vez de como un archivo de órdenes ejecutable. Estas técnicas suelen emplear caracteres especiales adicionales, como el punto (".") para revelar el listado del directorio de trabajo actual, o los caracteres NULL "%00" para saltarse las comprobaciones rudimentarias de la extensión de los archivos.
URL https://osteosalud.com.pe/wp-json/oembed/1.0/embed?format=xml&url=%2Fembed
Método GET
Parameter url
Atacar /embed
Evidence
Cabecera de la petición - size: 403 bytes.
Cuerpo de la petición - size: 0 bytes.
Cabecera de la respuesta - size: 495 bytes.
Cuerpo de la respuesta - size: 2,629 bytes.
URL https://osteosalud.com.pe/wp-json/oembed/1.0/embed?url=%2Fembed
Método GET
Parameter url
Atacar /embed
Evidence
Cabecera de la petición - size: 342 bytes.
Cuerpo de la petición - size: 0 bytes.
Cabecera de la respuesta - size: 503 bytes.
Cuerpo de la respuesta - size: 2,524 bytes.
URL https://osteosalud.com.pe/%5C/osteosalud.com.pe%5C/osteosalud%5C/page%5C/3%5C/?woo_ajax=c%3A%2F
Método GET
Parameter woo_ajax
Atacar c:/
Evidence etc
Cabecera de la petición - size: 391 bytes.
Cuerpo de la petición - size: 0 bytes.
Cabecera de la respuesta - size: 398 bytes.
Cuerpo de la respuesta - size: 123,154 bytes.
URL https://osteosalud.com.pe/?p=c%3A%2F
Método GET
Parameter p
Atacar c:/
Evidence etc
Cabecera de la petición - size: 276 bytes.
Cuerpo de la petición - size: 0 bytes.
Cabecera de la respuesta - size: 245 bytes.
Cuerpo de la respuesta - size: 120,447 bytes.
Instances 4
Solution
Asuma que toda la entrada es maliciosa. Utilizar una estrategia de validación de entradas de tipo "aceptar lo bueno conocido", es decir, utilizar una lista de entradas aceptables que se ajusten estrictamente a las especificaciones. Rechace cualquier entrada que no se adapte de forma estricta a las especificaciones, o cambielas por algo que sí lo haga. No confíe exclusivamente en la búsqueda de entradas maliciosas o malformadas (es decir, no confíe en una lista de denegación). Sin embargo, las listas de denegación pueden ser útiles para detectar posibles ataques o para determinar qué entradas están tan malformadas que deben ser rechazadas directamente.

Al realizar la validación de entrada, usted debe considerar todas las propiedades potencialmente destacadas, incluida la longitud, el tipo de entrada, el rango completo de valores aceptables, las entradas faltantes o adicionales, la sintaxis, el sentido entre los campos que se encuentran relacionados y la conformidad con todas las reglas comerciales. Como ejemplo de lógica de regla de negocio, "barco" puede ser sintácticamente válido porque sólo contiene caracteres alfanuméricos, pero no es válido si se esperan colores como "rojo" o "azul".

Para los nombres de archivo, utilice listas de permisos estrictas que limiten el conjunto de caracteres a utilizar. Si es posible, solo permita un solo carácter "." en el nombre del archivo para poder prevenir las vulnerabilidades y rechazar los separadores de directorios como por ejemplo "/". Utilice una lista de extensiones de archivo permitidas.

Advertencia: si usted intenta limpiar sus datos, tiene que hacerlo para que el resultado final no esté en la forma en el que estos puedan ser un peligro. Un mecanismo para desinfectar puede provcar la eliminación de caracteres como por ejemplo "." y ";" que pueden ser necesitados para varias explociones. Un atacante puede intentar burlar al mecanismo de desinfección para que este "limpie" los datos de una forma que puede ser muy peligrosa. Supongamos que el atacante logra inyectar un "." dentro de un nombre de un archivo (por ejemplo, "archivo sensi.tive") y el mecanismo que se encarga de desinfectar elimina el carácter que da como resultado que el nombre del archivo válido sea, "archivo sensible". Si ahora suponemos que los datos de entrada son seguros, entonces el archivo tiene la posibilidad de verse comprometido.

Las entradas se deben decodificar y canonicalizar a la representación que se encuentra actualmente de manera interna de la aplicación antes de validarlas. Asegúrese de que su aplicación no pueda descodificar la misma entrada dos veces. Estos errores podrían utilizarse para eludir los esquemas de listas de permitidos introduciendo entradas peligrosas después de haberlas comprobado.

Utilice alguna función de canonicalización de una ruta que fue incorporada (como realpath() en C) la cual origina la versión canónica de la ruta de acceso, que produce la eliminación de forma efectiva de las secuencias ".." y los enlaces que son simbólicos.

Ejecute su codigo utilizando los privilegios más bajos que se necesitan para poder realizar todas las tareas que son necesarias. Si es posible, cree unas cuentas que se encuentren aisladas con provilegios limitados que solo se utilizan para una sola tarea. De esta forma, un ataque que sea exitoso no le proporcionará al atacante el acceso de forma inmediata al resto del software o su dominio. Por ejemplo, las aplicaciones de las bases de datos muy pocas veces requieren ejecutarse como el administrador de la base de datos, en especial en las operaciones que son cotidianas.

Cuando el grupo de los objetos que son aceptados, como nombre de los archivos o URL, es limitado o conocido, tiene que crear una asignación de un grupo de valores de entradas que son fijos (como ID numéricos) a los nombres de los archivos o URL que son reales, y además tiene que rechazar todas las otras entradas.

Ejecute su código en un dominio de "cárcel" o un dominio que sea similar el cual imponga los límites estrictos entre el proceso y el sistema operativo. Esto puede ser que restrinja de forma efectiva a qué archivos se pueden ingresar en un directorio particular o qué comandos puede utilizar su software.

Los ejemplos de niveles de sistema operativo incluyen el Unix chroot jail, AppArmor, and SELinux. Normalmente, el código proporcionado puede otorgar cierta protección. Por ejemplo, java.io.FilePermission en Java SecurityManager le permite especificar las restricciones en las operaciones de archivos.

Esto puede que no sea la solución viable, y solo limita el impacto al sistema operativo; el resto de tu aplicación puede estar expuesta.
Reference http://projects.webappsec.org/Path-Traversal
http://cwe.mitre.org/data/definitions/22.html
Etiquetas OWASP_2021_A01
WSTG-v42-ATHZ-01
OWASP_2017_A05
CWE Id 22
WASC Id 33
Plugin Id 6
Medio
Ausencia de fichas (tokens) Anti-CSRF
Descripción
No se encontraron fichas (tokens) Anti-CSRF en un formulario HTML.

Una solicutud falsa entre sitios en un ataque que compromete y obliga a una víctima a enviar su solicitud HTTP a un destino objetivo sin su conocimiento o intención para poder realizar una acción como víctima. La causa oculta es la funcionalidad de la aplicación utilizando acciones de URL/formulario que pueden ser adivinados de forma repetible. La naturaleza del ataque es que CSRG explota la confianza que un sitio web proporciona a un usuario. Por el contrario, las cadenas de comandos de los sitios cruzados (XSS) explotan la confianza que un usuario proporciona en un sitio web. Al igual que XSS, los ataques CSRG no son de forma necesaria de sitios cruzados, pero hay la posibilidad de que si pueden serlo. La falsificación de las solicitudes ente los sitios también se conoce como CSRF, XSRG, ataques con un solo clic, montaje de sesión, diputado confundido y navegación en alta mar.

Los ataques de CSRG son muy efectivos en varias situaciones, que incluyen:

*La victima tiene una sesión activa en el sitio de destino.

*La víctima se autoriza por medio de la autenticación HTTP en el sitio de destino.

*La víctima se encuentra en la misma red local que el sitio de destino.

CSRF se ha utilizado especialmente para poder realizar una acción contra un sitio objetivo utilizando los privilegios de la víctima, pero se han revelado técnicas recientes para difundir información al obtener el acceso a la respuesta. El riesgo de divulgación de información aumenta de forma drástica cuando el sitio de destino se encuentra vulnerable a XSS, porque XSS se puede utilizar como una plataforma para CSRF, lo que le permite al atacante que opere desde adentro de los líites de la misma política de origen.
URL https://osteosalud.com.pe
Método GET
Parameter
Atacar
Evidence <form autocomplete="false" role="form" method="post" action="https://osteosalud.teinforma.net/form/submit?formId=5" id="mauticform_suscripcion" data-mautic-form="suscripcion" enctype="multipart/form-data">
Cabecera de la petición - size: 204 bytes.
Cuerpo de la petición - size: 0 bytes.
Cabecera de la respuesta - size: 398 bytes.
Cuerpo de la respuesta - size: 123,229 bytes.
URL https://osteosalud.com.pe/
Método GET
Parameter
Atacar
Evidence <form autocomplete="false" role="form" method="post" action="https://osteosalud.teinforma.net/form/submit?formId=5" id="mauticform_suscripcion" data-mautic-form="suscripcion" enctype="multipart/form-data">
Cabecera de la petición - size: 205 bytes.
Cuerpo de la petición - size: 0 bytes.
Cabecera de la respuesta - size: 398 bytes.
Cuerpo de la respuesta - size: 123,229 bytes.
URL https://osteosalud.com.pe/07%5C/2022
Método GET
Parameter
Atacar
Evidence <form role="search" method="get" class="searchform " action="https://osteosalud.com.pe/" >
Cabecera de la petición - size: 332 bytes.
Cuerpo de la petición - size: 0 bytes.
Cabecera de la respuesta - size: 344 bytes.
Cuerpo de la respuesta - size: 86,364 bytes.
URL https://osteosalud.com.pe/07%5C/2022
Método GET
Parameter
Atacar
Evidence <form autocomplete="false" role="form" method="post" action="https://osteosalud.teinforma.net/form/submit?formId=5" id="mauticform_suscripcion" data-mautic-form="suscripcion" enctype="multipart/form-data">
Cabecera de la petición - size: 332 bytes.
Cuerpo de la petición - size: 0 bytes.
Cabecera de la respuesta - size: 344 bytes.
Cuerpo de la respuesta - size: 86,364 bytes.