
Vulnérabilité RCE de type Padding Oracle dans RememberMe
Le RememberMe du cookie est chiffré via le mode AES-128-CBC, ce qui le rend vulnérable aux attaques par oracle de rembourrage (padding oracle).
Un attaquant peut utiliser un cookie RememberMe valide comme préfixe pour une attaque par oracle de rembourrage, puis fabriquer un RememberMe spécialement conçu pour exécuter une attaque de désérialisation Java, telle que SHIRO-550.
Connectez-vous au site Web et récupérez RememberMe depuis le cookie.
Utilisez le cookie RememberMe comme préfixe pour l'attaque par oracle de rembourrage.
Chiffrez la charge utile sérialisée d'ysoserial afin de fabriquer un RememberMe spécialement conçu via l'attaque par oracle de rembourrage.
Envoyez une requête au site Web avec le nouveau cookie RememberMe pour exécuter l'attaque de désérialisation.
L'attaquant n'a pas besoin de connaître la clé secrète de chiffrement de RememberMe.
1.2.5,
1.2.6,
1.3.0,
1.3.1,
1.3.2,
1.4.0-RC2,
1.4.0,
1.4.1
root@kali:/opt/tomcat/apache-tomcat-8.5.47/webapps/samples-web-1.5.0-SNAPSHOT# cat ./WEB-INF/shiro.ini |grep cipherKey
# We need to set the cipherKey, if you want the rememberMe cookie to work after restarting or on multiple nodes.
securityManager.rememberMeManager.cipherKey = kPH+bIxk5D2deZiIxcaaaA==
./WEB-INF/lib/commons-beanutils-1.9.4.jar
./WEB-INF/lib/commons-codec-1.13.jar
./WEB-INF/lib/commons-collections-3.2.2.jar
./WEB-INF/lib/jcl-over-slf4j-1.7.26.jar
./WEB-INF/lib/log4j-1.2.17.jar
./WEB-INF/lib/shiro-cache-1.5.0-SNAPSHOT.jar
./WEB-INF/lib/shiro-config-core-1.5.0-SNAPSHOT.jar
./WEB-INF/lib/shiro-config-ogdl-1.5.0-SNAPSHOT.jar
./WEB-INF/lib/shiro-core-1.5.0-SNAPSHOT.jar
./WEB-INF/lib/shiro-crypto-cipher-1.5.0-SNAPSHOT.jar
./WEB-INF/lib/shiro-crypto-core-1.5.0-SNAPSHOT.jar
./WEB-INF/lib/shiro-crypto-hash-1.5.0-SNAPSHOT.jar
./WEB-INF/lib/shiro-event-1.5.0-SNAPSHOT.jar
./WEB-INF/lib/shiro-lang-1.5.0-SNAPSHOT.jar
./WEB-INF/lib/shiro-web-1.5.0-SNAPSHOT.jar
./WEB-INF/lib/slf4j-api-1.7.26.jar
./WEB-INF/lib/slf4j-log4j12-1.7.26.jar
./WEB-INF/lib/taglibs-standard-impl-1.2.5.jar
./WEB-INF/lib/taglibs-standard-spec-1.2.5.jar
Reproduction de la vulnérabilité https://www.anquanke.com/post/id/192819