Arbeiten Sie zusammen, um gemeinsam zu schaffen und zu wachsen! Dies ist der 25. Tag meiner Teilnahme an der „Nuggets Daily New Plan·August Update Challenge“, klicken Sie hier, um die Details der Veranstaltung anzuzeigen
1. Schreiben Sie vorne
Derzeit setzt sich nacos immer weiter durch: Wenn die meisten Unternehmen die Microservice-Architektur nutzen, entscheiden sie sich grundsätzlich für nacos als Registrierungs- und Konfigurationszentrum.
Dass nacos eigentlich ein Open-Source-Projekt von Alibaba ist, hat Schlupflöcher, zumindest ist es unvermeidlich.
Deshalb werden wir heute einige Schwachstellen in nacos teilen, hauptsächlich einige Sicherheitslücken.
Schließlich werden viele Government-Affairs-Projekte den Wartegarantietest bestehen. Je mehr Garantien gegeben werden, desto mehr Schlupflöcher gibt es.
Nein, heute gibt es eine weitere Lücke. Dann fang an, es zu reparieren! ! !
Backend-Dienst
1. nacos Permission Bypass Schwachstelle
Einzelheiten finden Sie auf der offiziellen nacos-Website: link
Diese Schwachstelle tritt auf, wenn nacos den Kontokennwortzugriff aktiviert hat und wenn user-agent: Nacos-Server zum Header hinzugefügt wird, wird der Berechtigungszugriff umgangen und direkt die nacos-Konfiguration und andere Informationen abgerufen.
Nacos-Version:1.4.2
Die Details sind wie folgt:
- Zugang ohne Account und Passwort (403)
- Kontopasswortzugriff hinzufügen (normal)
- Zugriff ohne Account und Passwort, aber Header hinzufügen (normal)
Es ist ersichtlich, dass das Hinzufügen des Headers
user-agent:Nacos-Server
tatsächlich die nacos-Authentifizierung umgehen kann.
2. Fehlerbehebungen
Upgrade auf die neueste Version von nacos: 2.1.1
(aktueller Zeitpunkt: 19.08.2022)
Download-Adresse: offizielle nacos-Website
Download-Adresse: offizielle Adresse
Vom 1.4.2
Upgrade auf 2.1.1
, die offizielle nacos-Website enthält eine detaillierte Dokumentation: Details
Für unser aktuelles Umgebungs-Upgrade ist Folgendes zu beachten:
2.1 Änderung der nacos-Konfigurationsdatei
vi nacos/conf/application.properties
#122行
server.tomcat.basedir=file:.
#148行
nacos.core.auth.enable.userAgentAuthWhite=false
nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=security
复制代码
Dies muss hier geändert werden, sonst meldet der Start einen Fehler.
2.2 Änderung der nacos-Datenbank
/*config_info表增加字段*/
ALTER TABLE jxbp_nacos.config_info ADD COLUMN encrypted_data_key text NULL COMMENT '秘钥';
/*his_config_info表增加字段*/
ALTER TABLE jxbp_nacos.his_config_info ADD COLUMN encrypted_data_key text NULL COMMENT '秘钥';
复制代码
2.3 Test nach dem Start von nacos
- Zugriff ohne Account und Passwort, aber Header hinzufügen (403)
Es ist ersichtlich, dass die Schwachstelle behoben wurde
- Kontopasswort für den Zugriff hinzufügen, Header nicht hinzufügen (normal)
Nach dem Test ist es normal.
Notiz:
Wenn Sie kein Upgrade durchführen möchten, ist es natürlich auch möglich, die Konfigurationsdatei direkt zu ändern auf 1.4.2
der Grundlage von:
vi nacos/conf/application.properties
#148行
nacos.core.auth.enable.userAgentAuthWhite=false
nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=security
复制代码
Wenn Sie dies sehen, haben Sie das Gefühl, dass Sie lange gewürfelt haben und es am Ende einen einfacheren Weg gibt, es zu lösen.
Haha, wirklich betrunken! ! !
Wenn ich das sehe, hoffe ich, dass jeder es leicht sprühen kann, schließlich gibt es keine einfache Möglichkeit, es beim ersten Mal zu lösen.
Nun, das Obige ist das Teilen der nacos Permission Bypass-Schwachstelle .
Der Inhalt mag etwas kurz sein, aber es ist alles trockenes Zeug! ! !
Das persönliche Verständnis ist möglicherweise nicht umfassend genug, und die Klasse hat eine Axt gemacht.
Wenn Sie es nützlich finden, helfen Sie bitte 点赞、评论、收藏
! ! !