SCW Icons
hero bg no divider
Blog

Coder Conquer Security OWASP Top 10 API-Serie — Massenzuweisung

Matias Madou, Ph.D.
Published Oct 21, 2020
Last updated on Mar 09, 2026

Die Sicherheitslücke bei Massenzuweisungen entstand, weil viele moderne Frameworks Entwickler dazu ermutigen, Funktionen zu verwenden, die Eingaben von Clients automatisch in Codevariablen und interne Objekte binden. Dies wird getan, um den Code zu vereinfachen und Operationen zu beschleunigen.

Angreifer können diese Methode verwenden, um Änderungen an Objekteigenschaften zu erzwingen, die niemals von einem Client aktualisiert werden sollten. Normalerweise führt dies zu unternehmensspezifischen Problemen, z. B. wenn ein Benutzer sich selbst Administratorrechte zuweist, anstatt eine Website herunterzufahren oder Unternehmensgeheimnisse zu stehlen. Angreifer müssen auch eine Vorstellung von den Beziehungen zwischen Objekten und der Geschäftslogik der Anwendung haben, die sie ausnutzen.

Nichts davon macht die Sicherheitslücke durch Massenzuweisungen in den Händen eines cleveren und böswilligen Benutzers jedoch weniger gefährlich.

Bevor wir mit der vollständigen Anleitung beginnen, spielen Sie unsere spielerische Herausforderung und sehen Sie, wie es Ihnen geht:

Wie können Angreifer die Sicherheitslücke bei Massenzuweisungen ausnutzen?

Das von OWASP vorgeschlagene (und von uns leicht modifizierte) Szenario geht von einer Mitfahranwendung aus, die verschiedene Eigenschaften enthält, die mithilfe von Massenzuweisungen an Objekte im Code gebunden sind. Dazu gehören berechtigungsbezogene Eigenschaften, die Benutzer ändern können, und prozessabhängige Eigenschaften, die nur intern von der Anwendung festgelegt werden sollten. Beide verwenden Massenzuweisungen, um Eigenschaften an Objekte zu binden.

In diesem Szenario ermöglicht die Mitfahr-App Benutzern, ihre Profile zu aktualisieren, wie es in vielen benutzerorientierten Anwendungen üblich ist. Dies erfolgt mithilfe eines an PUT gesendeten API-Aufrufs, der das folgende JSON-Objekt zurückgibt:

{"user_name“: „SneakySnake“, „Seite“: 17, „is_admin“: falsch}

Da der Angreifer, in diesem Fall Mr. SneakySnake, die Beziehung zwischen den Eigenschaften und den Objekten herausgefunden hat, kann er seine ursprüngliche Anfrage zur Aktualisierung seines Profils mit der folgenden Zeichenfolge erneut senden:

{"user_name“: „SneakySnake“, „Alter“ :24, „is_admin“: true}

Da der Endpunkt anfällig für Massenzuweisungen ist, akzeptiert er die neue Eingabe als gültig. Unser Hacker hat seinem Profil nicht nur ein paar Jahre hinzugefügt, sondern sich auch selbst Administratorrechte zugewiesen.

Beseitigung der Sicherheitslücke bei Massenzuweisungen

So praktisch es auch sein mag, die Massenzuweisungsfunktion in einigen Frameworks zu verwenden, Sie sollten dies vermeiden, wenn Sie Ihre APIs schützen möchten. Analysieren Sie stattdessen die Anforderungswerte, anstatt sie direkt an ein Objekt zu binden. Sie können auch ein reduziertes Datenübertragungsobjekt verwenden, das fast den gleichen Komfort bietet wie das direkte Binden an das Objekt selbst, nur ohne das damit verbundene Risiko.

Als zusätzliche Vorsichtsmaßnahme könnten vertrauliche Eigenschaften wie Administratorrechte aus dem obigen Beispiel verweigert werden, sodass sie bei einem API-Aufruf niemals vom Server akzeptiert werden. Eine noch bessere Idee könnte darin bestehen, standardmäßig jede Eigenschaft zu verweigern und dann bestimmte, nicht vertrauliche Eigenschaften zuzulassen, die Benutzer aktualisieren oder ändern können sollen. Wenn Sie eines dieser Dinge tun, können Sie APIs sperren und die Sicherheitslücke durch Massenzuweisungen in Ihrer Umgebung beseitigen.

Schauen Sie sich das an Sicherer Codekrieger Blogseiten mit weiteren Informationen zu dieser Sicherheitslücke und dazu, wie Sie Ihr Unternehmen und Ihre Kunden vor den Folgen anderer Sicherheitslücken schützen können. Sie können auch probiere eine Demo der Secure Code Warrior-Schulungsplattform, um all Ihre Cybersicherheitsfähigkeiten zu verbessern und auf dem neuesten Stand zu halten.

Ressource ansehen
Ressource ansehen

Die Sicherheitslücke bei Massenzuweisungen entstand, weil viele moderne Frameworks Entwickler dazu ermutigten, Funktionen zu verwenden, die Eingaben von Clients automatisch in Codevariablen und interne Objekte binden.

Interessiert an mehr?

Matias Madou, Ph.D. is a security expert, researcher, and CTO and co-founder of Secure Code Warrior. Matias obtained his Ph.D. in Application Security from Ghent University, focusing on static analysis solutions. He later joined Fortify in the US, where he realized that it was insufficient to solely detect code problems without aiding developers in writing secure code. This inspired him to develop products that assist developers, alleviate the burden of security, and exceed customers' expectations. When he is not at his desk as part of Team Awesome, he enjoys being on stage presenting at conferences including RSA Conference, BlackHat and DefCon.

learn more

Secure Code Warrior ist für Ihr Unternehmen da, um Ihnen zu helfen, Code während des gesamten Softwareentwicklungszyklus zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder jemand anderes sind, der sich mit Sicherheit befasst, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Eine Demo buchen
Teilen auf:
linkedin brandsSocialx logo
Autor
Matias Madou, Ph.D.
Published Oct 21, 2020

Matias Madou, Ph.D. is a security expert, researcher, and CTO and co-founder of Secure Code Warrior. Matias obtained his Ph.D. in Application Security from Ghent University, focusing on static analysis solutions. He later joined Fortify in the US, where he realized that it was insufficient to solely detect code problems without aiding developers in writing secure code. This inspired him to develop products that assist developers, alleviate the burden of security, and exceed customers' expectations. When he is not at his desk as part of Team Awesome, he enjoys being on stage presenting at conferences including RSA Conference, BlackHat and DefCon.

Matias is a researcher and developer with more than 15 years of hands-on software security experience. He has developed solutions for companies such as Fortify Software and his own company Sensei Security. Over his career, Matias has led multiple application security research projects which have led to commercial products and boasts over 10 patents under his belt. When he is away from his desk, Matias has served as an instructor for advanced application security training courses and regularly speaks at global conferences including RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec and BruCon.

Matias holds a Ph.D. in Computer Engineering from Ghent University, where he studied application security through program obfuscation to hide the inner workings of an application.

Teilen auf:
linkedin brandsSocialx logo

Die Sicherheitslücke bei Massenzuweisungen entstand, weil viele moderne Frameworks Entwickler dazu ermutigen, Funktionen zu verwenden, die Eingaben von Clients automatisch in Codevariablen und interne Objekte binden. Dies wird getan, um den Code zu vereinfachen und Operationen zu beschleunigen.

Angreifer können diese Methode verwenden, um Änderungen an Objekteigenschaften zu erzwingen, die niemals von einem Client aktualisiert werden sollten. Normalerweise führt dies zu unternehmensspezifischen Problemen, z. B. wenn ein Benutzer sich selbst Administratorrechte zuweist, anstatt eine Website herunterzufahren oder Unternehmensgeheimnisse zu stehlen. Angreifer müssen auch eine Vorstellung von den Beziehungen zwischen Objekten und der Geschäftslogik der Anwendung haben, die sie ausnutzen.

Nichts davon macht die Sicherheitslücke durch Massenzuweisungen in den Händen eines cleveren und böswilligen Benutzers jedoch weniger gefährlich.

Bevor wir mit der vollständigen Anleitung beginnen, spielen Sie unsere spielerische Herausforderung und sehen Sie, wie es Ihnen geht:

Wie können Angreifer die Sicherheitslücke bei Massenzuweisungen ausnutzen?

Das von OWASP vorgeschlagene (und von uns leicht modifizierte) Szenario geht von einer Mitfahranwendung aus, die verschiedene Eigenschaften enthält, die mithilfe von Massenzuweisungen an Objekte im Code gebunden sind. Dazu gehören berechtigungsbezogene Eigenschaften, die Benutzer ändern können, und prozessabhängige Eigenschaften, die nur intern von der Anwendung festgelegt werden sollten. Beide verwenden Massenzuweisungen, um Eigenschaften an Objekte zu binden.

In diesem Szenario ermöglicht die Mitfahr-App Benutzern, ihre Profile zu aktualisieren, wie es in vielen benutzerorientierten Anwendungen üblich ist. Dies erfolgt mithilfe eines an PUT gesendeten API-Aufrufs, der das folgende JSON-Objekt zurückgibt:

{"user_name“: „SneakySnake“, „Seite“: 17, „is_admin“: falsch}

Da der Angreifer, in diesem Fall Mr. SneakySnake, die Beziehung zwischen den Eigenschaften und den Objekten herausgefunden hat, kann er seine ursprüngliche Anfrage zur Aktualisierung seines Profils mit der folgenden Zeichenfolge erneut senden:

{"user_name“: „SneakySnake“, „Alter“ :24, „is_admin“: true}

Da der Endpunkt anfällig für Massenzuweisungen ist, akzeptiert er die neue Eingabe als gültig. Unser Hacker hat seinem Profil nicht nur ein paar Jahre hinzugefügt, sondern sich auch selbst Administratorrechte zugewiesen.

Beseitigung der Sicherheitslücke bei Massenzuweisungen

So praktisch es auch sein mag, die Massenzuweisungsfunktion in einigen Frameworks zu verwenden, Sie sollten dies vermeiden, wenn Sie Ihre APIs schützen möchten. Analysieren Sie stattdessen die Anforderungswerte, anstatt sie direkt an ein Objekt zu binden. Sie können auch ein reduziertes Datenübertragungsobjekt verwenden, das fast den gleichen Komfort bietet wie das direkte Binden an das Objekt selbst, nur ohne das damit verbundene Risiko.

Als zusätzliche Vorsichtsmaßnahme könnten vertrauliche Eigenschaften wie Administratorrechte aus dem obigen Beispiel verweigert werden, sodass sie bei einem API-Aufruf niemals vom Server akzeptiert werden. Eine noch bessere Idee könnte darin bestehen, standardmäßig jede Eigenschaft zu verweigern und dann bestimmte, nicht vertrauliche Eigenschaften zuzulassen, die Benutzer aktualisieren oder ändern können sollen. Wenn Sie eines dieser Dinge tun, können Sie APIs sperren und die Sicherheitslücke durch Massenzuweisungen in Ihrer Umgebung beseitigen.

Schauen Sie sich das an Sicherer Codekrieger Blogseiten mit weiteren Informationen zu dieser Sicherheitslücke und dazu, wie Sie Ihr Unternehmen und Ihre Kunden vor den Folgen anderer Sicherheitslücken schützen können. Sie können auch probiere eine Demo der Secure Code Warrior-Schulungsplattform, um all Ihre Cybersicherheitsfähigkeiten zu verbessern und auf dem neuesten Stand zu halten.

Ressource ansehen
Ressource ansehen

Füllen Sie das unten stehende Formular aus, um den Bericht herunterzuladen

Wir bitten um Ihre Erlaubnis, Ihnen Informationen zu unseren Produkten und/oder verwandten Themen rund um sichere Codierung zuzusenden. Wir behandeln Ihre persönlichen Daten stets mit größter Sorgfalt und verkaufen sie niemals zu Marketingzwecken an andere Unternehmen.

Einreichen
scw success icon
scw error icon
Um das Formular abzusenden, aktivieren Sie bitte „Analytics“ -Cookies. Wenn Sie fertig sind, können Sie sie jederzeit wieder deaktivieren.

Die Sicherheitslücke bei Massenzuweisungen entstand, weil viele moderne Frameworks Entwickler dazu ermutigen, Funktionen zu verwenden, die Eingaben von Clients automatisch in Codevariablen und interne Objekte binden. Dies wird getan, um den Code zu vereinfachen und Operationen zu beschleunigen.

Angreifer können diese Methode verwenden, um Änderungen an Objekteigenschaften zu erzwingen, die niemals von einem Client aktualisiert werden sollten. Normalerweise führt dies zu unternehmensspezifischen Problemen, z. B. wenn ein Benutzer sich selbst Administratorrechte zuweist, anstatt eine Website herunterzufahren oder Unternehmensgeheimnisse zu stehlen. Angreifer müssen auch eine Vorstellung von den Beziehungen zwischen Objekten und der Geschäftslogik der Anwendung haben, die sie ausnutzen.

Nichts davon macht die Sicherheitslücke durch Massenzuweisungen in den Händen eines cleveren und böswilligen Benutzers jedoch weniger gefährlich.

Bevor wir mit der vollständigen Anleitung beginnen, spielen Sie unsere spielerische Herausforderung und sehen Sie, wie es Ihnen geht:

Wie können Angreifer die Sicherheitslücke bei Massenzuweisungen ausnutzen?

Das von OWASP vorgeschlagene (und von uns leicht modifizierte) Szenario geht von einer Mitfahranwendung aus, die verschiedene Eigenschaften enthält, die mithilfe von Massenzuweisungen an Objekte im Code gebunden sind. Dazu gehören berechtigungsbezogene Eigenschaften, die Benutzer ändern können, und prozessabhängige Eigenschaften, die nur intern von der Anwendung festgelegt werden sollten. Beide verwenden Massenzuweisungen, um Eigenschaften an Objekte zu binden.

In diesem Szenario ermöglicht die Mitfahr-App Benutzern, ihre Profile zu aktualisieren, wie es in vielen benutzerorientierten Anwendungen üblich ist. Dies erfolgt mithilfe eines an PUT gesendeten API-Aufrufs, der das folgende JSON-Objekt zurückgibt:

{"user_name“: „SneakySnake“, „Seite“: 17, „is_admin“: falsch}

Da der Angreifer, in diesem Fall Mr. SneakySnake, die Beziehung zwischen den Eigenschaften und den Objekten herausgefunden hat, kann er seine ursprüngliche Anfrage zur Aktualisierung seines Profils mit der folgenden Zeichenfolge erneut senden:

{"user_name“: „SneakySnake“, „Alter“ :24, „is_admin“: true}

Da der Endpunkt anfällig für Massenzuweisungen ist, akzeptiert er die neue Eingabe als gültig. Unser Hacker hat seinem Profil nicht nur ein paar Jahre hinzugefügt, sondern sich auch selbst Administratorrechte zugewiesen.

Beseitigung der Sicherheitslücke bei Massenzuweisungen

So praktisch es auch sein mag, die Massenzuweisungsfunktion in einigen Frameworks zu verwenden, Sie sollten dies vermeiden, wenn Sie Ihre APIs schützen möchten. Analysieren Sie stattdessen die Anforderungswerte, anstatt sie direkt an ein Objekt zu binden. Sie können auch ein reduziertes Datenübertragungsobjekt verwenden, das fast den gleichen Komfort bietet wie das direkte Binden an das Objekt selbst, nur ohne das damit verbundene Risiko.

Als zusätzliche Vorsichtsmaßnahme könnten vertrauliche Eigenschaften wie Administratorrechte aus dem obigen Beispiel verweigert werden, sodass sie bei einem API-Aufruf niemals vom Server akzeptiert werden. Eine noch bessere Idee könnte darin bestehen, standardmäßig jede Eigenschaft zu verweigern und dann bestimmte, nicht vertrauliche Eigenschaften zuzulassen, die Benutzer aktualisieren oder ändern können sollen. Wenn Sie eines dieser Dinge tun, können Sie APIs sperren und die Sicherheitslücke durch Massenzuweisungen in Ihrer Umgebung beseitigen.

Schauen Sie sich das an Sicherer Codekrieger Blogseiten mit weiteren Informationen zu dieser Sicherheitslücke und dazu, wie Sie Ihr Unternehmen und Ihre Kunden vor den Folgen anderer Sicherheitslücken schützen können. Sie können auch probiere eine Demo der Secure Code Warrior-Schulungsplattform, um all Ihre Cybersicherheitsfähigkeiten zu verbessern und auf dem neuesten Stand zu halten.

Webinar ansehen
Fangen Sie an
learn more

Klicken Sie auf den Link unten und laden Sie das PDF dieser Ressource herunter.

Secure Code Warrior ist für Ihr Unternehmen da, um Ihnen zu helfen, Code während des gesamten Softwareentwicklungszyklus zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder jemand anderes sind, der sich mit Sicherheit befasst, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Bericht ansehenEine Demo buchen
Ressource ansehen
Teilen auf:
linkedin brandsSocialx logo
Interessiert an mehr?

Teilen auf:
linkedin brandsSocialx logo
Autor
Matias Madou, Ph.D.
Published Oct 21, 2020

Matias Madou, Ph.D. is a security expert, researcher, and CTO and co-founder of Secure Code Warrior. Matias obtained his Ph.D. in Application Security from Ghent University, focusing on static analysis solutions. He later joined Fortify in the US, where he realized that it was insufficient to solely detect code problems without aiding developers in writing secure code. This inspired him to develop products that assist developers, alleviate the burden of security, and exceed customers' expectations. When he is not at his desk as part of Team Awesome, he enjoys being on stage presenting at conferences including RSA Conference, BlackHat and DefCon.

Matias is a researcher and developer with more than 15 years of hands-on software security experience. He has developed solutions for companies such as Fortify Software and his own company Sensei Security. Over his career, Matias has led multiple application security research projects which have led to commercial products and boasts over 10 patents under his belt. When he is away from his desk, Matias has served as an instructor for advanced application security training courses and regularly speaks at global conferences including RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec and BruCon.

Matias holds a Ph.D. in Computer Engineering from Ghent University, where he studied application security through program obfuscation to hide the inner workings of an application.

Teilen auf:
linkedin brandsSocialx logo

Die Sicherheitslücke bei Massenzuweisungen entstand, weil viele moderne Frameworks Entwickler dazu ermutigen, Funktionen zu verwenden, die Eingaben von Clients automatisch in Codevariablen und interne Objekte binden. Dies wird getan, um den Code zu vereinfachen und Operationen zu beschleunigen.

Angreifer können diese Methode verwenden, um Änderungen an Objekteigenschaften zu erzwingen, die niemals von einem Client aktualisiert werden sollten. Normalerweise führt dies zu unternehmensspezifischen Problemen, z. B. wenn ein Benutzer sich selbst Administratorrechte zuweist, anstatt eine Website herunterzufahren oder Unternehmensgeheimnisse zu stehlen. Angreifer müssen auch eine Vorstellung von den Beziehungen zwischen Objekten und der Geschäftslogik der Anwendung haben, die sie ausnutzen.

Nichts davon macht die Sicherheitslücke durch Massenzuweisungen in den Händen eines cleveren und böswilligen Benutzers jedoch weniger gefährlich.

Bevor wir mit der vollständigen Anleitung beginnen, spielen Sie unsere spielerische Herausforderung und sehen Sie, wie es Ihnen geht:

Wie können Angreifer die Sicherheitslücke bei Massenzuweisungen ausnutzen?

Das von OWASP vorgeschlagene (und von uns leicht modifizierte) Szenario geht von einer Mitfahranwendung aus, die verschiedene Eigenschaften enthält, die mithilfe von Massenzuweisungen an Objekte im Code gebunden sind. Dazu gehören berechtigungsbezogene Eigenschaften, die Benutzer ändern können, und prozessabhängige Eigenschaften, die nur intern von der Anwendung festgelegt werden sollten. Beide verwenden Massenzuweisungen, um Eigenschaften an Objekte zu binden.

In diesem Szenario ermöglicht die Mitfahr-App Benutzern, ihre Profile zu aktualisieren, wie es in vielen benutzerorientierten Anwendungen üblich ist. Dies erfolgt mithilfe eines an PUT gesendeten API-Aufrufs, der das folgende JSON-Objekt zurückgibt:

{"user_name“: „SneakySnake“, „Seite“: 17, „is_admin“: falsch}

Da der Angreifer, in diesem Fall Mr. SneakySnake, die Beziehung zwischen den Eigenschaften und den Objekten herausgefunden hat, kann er seine ursprüngliche Anfrage zur Aktualisierung seines Profils mit der folgenden Zeichenfolge erneut senden:

{"user_name“: „SneakySnake“, „Alter“ :24, „is_admin“: true}

Da der Endpunkt anfällig für Massenzuweisungen ist, akzeptiert er die neue Eingabe als gültig. Unser Hacker hat seinem Profil nicht nur ein paar Jahre hinzugefügt, sondern sich auch selbst Administratorrechte zugewiesen.

Beseitigung der Sicherheitslücke bei Massenzuweisungen

So praktisch es auch sein mag, die Massenzuweisungsfunktion in einigen Frameworks zu verwenden, Sie sollten dies vermeiden, wenn Sie Ihre APIs schützen möchten. Analysieren Sie stattdessen die Anforderungswerte, anstatt sie direkt an ein Objekt zu binden. Sie können auch ein reduziertes Datenübertragungsobjekt verwenden, das fast den gleichen Komfort bietet wie das direkte Binden an das Objekt selbst, nur ohne das damit verbundene Risiko.

Als zusätzliche Vorsichtsmaßnahme könnten vertrauliche Eigenschaften wie Administratorrechte aus dem obigen Beispiel verweigert werden, sodass sie bei einem API-Aufruf niemals vom Server akzeptiert werden. Eine noch bessere Idee könnte darin bestehen, standardmäßig jede Eigenschaft zu verweigern und dann bestimmte, nicht vertrauliche Eigenschaften zuzulassen, die Benutzer aktualisieren oder ändern können sollen. Wenn Sie eines dieser Dinge tun, können Sie APIs sperren und die Sicherheitslücke durch Massenzuweisungen in Ihrer Umgebung beseitigen.

Schauen Sie sich das an Sicherer Codekrieger Blogseiten mit weiteren Informationen zu dieser Sicherheitslücke und dazu, wie Sie Ihr Unternehmen und Ihre Kunden vor den Folgen anderer Sicherheitslücken schützen können. Sie können auch probiere eine Demo der Secure Code Warrior-Schulungsplattform, um all Ihre Cybersicherheitsfähigkeiten zu verbessern und auf dem neuesten Stand zu halten.

Inhaltsverzeichniss

PDF herunterladen
Ressource ansehen
Interessiert an mehr?

Matias Madou, Ph.D. is a security expert, researcher, and CTO and co-founder of Secure Code Warrior. Matias obtained his Ph.D. in Application Security from Ghent University, focusing on static analysis solutions. He later joined Fortify in the US, where he realized that it was insufficient to solely detect code problems without aiding developers in writing secure code. This inspired him to develop products that assist developers, alleviate the burden of security, and exceed customers' expectations. When he is not at his desk as part of Team Awesome, he enjoys being on stage presenting at conferences including RSA Conference, BlackHat and DefCon.

learn more

Secure Code Warrior ist für Ihr Unternehmen da, um Ihnen zu helfen, Code während des gesamten Softwareentwicklungszyklus zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder jemand anderes sind, der sich mit Sicherheit befasst, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Eine Demo buchenHerunterladen
Teilen auf:
linkedin brandsSocialx logo
Ressourcen-Hub

Ressourcen für den Einstieg

Mehr Beiträge
Ressourcen-Hub

Ressourcen für den Einstieg

Mehr Beiträge