
CVE-2020-13933 campo de pruebas: vulnerabilidad de omisión de autenticación de shiro
Vulnerabilidad de omisión de autenticación en shiro < 1.6.0
http://127.0.0.1:8080/res/%3bpoc
ShiroConfig.java:
/res/*, redirige (302) a la página de inicio de sesión para autenticación.NameController.java:
/res/{name}: solicita el recurso llamado name (activa la autenticación)
/res/: no solicita ningún recurso (no activa la autenticación)Al no especificar un nombre de recurso en la ruta de solicitud, no se activa la autenticación ni se devuelve ningún recurso: http://127.0.0.1:8080/res/

Al especificar un nombre de recurso en la ruta de solicitud, se redirige (302) a la página de autenticación: http://127.0.0.1:8080/res/poc

Al construir una solicitud PoC específica para un recurso, no se activa la autenticación y se devuelve el recurso: http://127.0.0.1:8080/res/%3bpoc (%3b es la codificación URL de ;)

// org.apache.shiro.web.util.WebUtils.java
// line 111
public static String getPathWithinApplication(HttpServletRequest request) {
return normalize(removeSemicolon(getServletPath(request) + getPathInfo(request)));
}
// org.springframework.web.util.UrlPathHelper.java
// line 459
private String decodeAndCleanUriString(HttpServletRequest request, String uri) {
uri = removeSemicolonContent(uri);
uri = decodeRequestString(request, uri);
uri = getSanitizedPath(uri);
return uri;
}