
ثغرة Padding Oracle في RememberMe تسمح بتنفيذ التعليمات البرمجية عن بُعد (RCE)
تم تشفير RememberMe الخاص بالكوكي باستخدام وضع AES-128-CBC، مما يجعله عرضة لهجمات Padding Oracle.
يمكن للمهاجم استخدام كوكي RememberMe صالح كبادئة لهجوم Padding Oracle، ثم إنشاء RememberMe مُصمم بعناية لتنفيذ هجوم إلغاء تسلسل Java، مثل SHIRO-550.
قم بتسجيل الدخول إلى الموقع واحصل على RememberMe من الكوكي.
استخدم كوكي RememberMe كبادئة لهجوم Padding Oracle.
قم بتشفير الحمولة المسلسلة الخاصة بـ ysoserial لإنشاء RememberMe مُصمم بعناية عبر هجوم Padding Oracle.
أرسل طلبًا إلى الموقع باستخدام كوكي RememberMe الجديد لتنفيذ هجوم إلغاء التسلسل.
لا يحتاج المهاجم إلى معرفة المفتاح السري لتشفير 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
إعادة إنتاج الثغرة https://www.anquanke.com/post/id/192819