
Wiederholbare Laborumgebung, die die Umgehung der Autorisierung von CVE-2022-22978 Spring Security durch kodierte Zeilenumbruchzeichen in RegexRequestMatcher demonstriert.
RegexRequestMatcher, das Berechtigungen mittels regulärer Ausdrücke vergibt, ein Berechtigungsumgehungsfehler auftreten, wenn die angeforderte URL Zeilenumbruchzeichen enthält.%0a, %0d verwenden, um den Zugriff auf die Administratorenseite (/admin) zu umgehen.docker compose up -d wurde ausgeführt, um die Testumgebung vorzubereiten.http://localhost:8080/admin wird aufgerufen, um zu überprüfen, ob der Zugriff auf die Administratorenseite blockiert ist.http://localhost:8080/admin/%0atest wird aufgerufen, um auf die Administratorenseite zuzugreifen.
Eine anfällige Umgebung wurde eingerichtet.

Der Zugriff auf die Administratorenseite ist blockiert.

%0d ist ein Zeilenumbruchzeichen, das '\r' darstellt, und %0a stellt '\n' dar. Wenn man Anfragen mit %0d und %0a sendet, kann man die Zugriffsberechtigung umgehen.
Wenn Zeilenumbruchzeichen wie %0a, %0d in der URL enthalten sind, fehlt bei der Filterung des Anforderungspfads durch RegexRequestMatcher die Verarbeitung dieser Zeilenumbruchzeichen, was eine Umgehung der Berechtigungen ermöglicht. Angreifer können durch die Berechtigungsumgehung auf die Administratorenseite zugreifen und dort sensible Informationen stehlen. Daher ist Vorsicht geboten.
GitHub-Repository: https://github.com/he-ewo/CVE-2022-22978.git