
Experimentación con CVE-2021-44790

Objetivo de explotación: Aprovechar la vulnerabilidad de desbordamiento de búfer para llevar a cabo un DoS contra el objetivo.
B1: En la máquina víctima:
**Apache24/bin** để tiến hành chạy **httpd.exe.**
B2: En la máquina atacante:


Error de restablecimiento de conexión inicial:
La primera parte del registro muestra ConnectionResetError104
ha ocurrido un error con el código específico
, lo que significa "Restablecimiento de conexión entre pares". Esto suele ocurrir cuando el servidor remoto ("par") recibe tu solicitud de conexión pero luego cierra la conexión abruptamente.
Librería Urllib3 y la solicitud:
El script parece estar usando requestsurllib3
librería, por lo que depende de ella
para crear la conexión HTTP.
La librería urllib3


B3: En la máquina víctima:
[Wed Nov 29 15:11:58.320403 2023] [mpm_winnt:notice] [pid 6224:tid 732] AH00428: Parent: child process 7220 exited with status 3221225477 -- Restarting.3221225477. Esto puede ser un error debido al acceso a una región de memoria no válida o un error similar. Apache luego intenta reiniciar el proceso.
httpd.exe, que es el ejecutable del servidor HTTP Apache. El nombre del módulo con error es MSVCR110.dll11.0.51106.1. El código de excepción es 0xc0000005, que normalmente indica un error de violación de acceso. Esto significa que el programa intentó leer o escribir en una ubicación de memoria que no debería, lo que es una causa común de fallos de aplicación.
Configuración de httpd.conf:
Corregir la ruta

Iniciar el módulo Lua

Añadir el Handler para el módulo Lua

Contenido de test.lua y ruta:

está intentando abrir la conexión y realizar la solicitud, pero falla debido al restablecimiento de la conexión.
Manejo de excepciones en la librería:
Ambos urllib3requestsurllib3
están
capturando y relanzando las excepciones. La librería
está intentando aumentar el número de reintentos para la solicitud, lo que indica que puede estar configurada para reintentar en caso de fallo, pero finalmente se rinde después de agotar los reintentos.
Error de conexión final en la solicitud:
La excepción final es lanzada por la librería requestsConnectionError
, que es el archivo
. Esta es una excepción general que se lanza cuando no se puede realizar la conexión al servidor, lo que puede ocurrir si el servidor restablece la conexión.