
Coder Conquer Security OWASP Top 10 API-Serie — Massenzuweisung
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.


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.
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.

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 buchenMatias 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.


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.

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.

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 buchenMatias 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.
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
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.

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 buchenHerunterladenRessourcen für den Einstieg
Themen und Inhalte der Securecode-Schulung
Unsere branchenführenden Inhalte werden ständig weiterentwickelt, um der sich ständig ändernden Softwareentwicklungslandschaft unter Berücksichtigung Ihrer Rolle gerecht zu werden. Themen, die alles von KI bis XQuery Injection abdecken und für eine Vielzahl von Rollen angeboten werden, von Architekten und Ingenieuren bis hin zu Produktmanagern und QA. Verschaffen Sie sich einen kleinen Einblick in das Angebot unseres Inhaltskatalogs nach Themen und Rollen.
Threat Modeling with AI: Turning Every Developer into a Threat Modeler
Walk away better equipped to help developers combine threat modeling ideas and techniques with the AI tools they're already using to strengthen security, improve collaboration, and build more resilient software from the start.
Ressourcen für den Einstieg
Cybermon is back: Beat the Boss KI-Missionen jetzt auf Abruf verfügbar
Cybermon 2025 Beat the Boss ist jetzt das ganze Jahr über in SCW verfügbar. Setzt fortschrittliche KI/LLM-Sicherheitsanforderungen ein, um die sichere KI-Entwicklung in einem großen Maßstab zu stärken.
Cyber-Resilienz-Gesetz erklärt: Was das für die Entwicklung von Secure by Design-Software bedeutet
Erfahren Sie, was der EU Cyber Resilience Act (CRA) verlangt, für wen er gilt und wie sich Entwicklungsteams mit sicheren Methoden, der Vorbeugung von Sicherheitslücken und dem Aufbau von Fähigkeiten für Entwickler darauf vorbereiten können.




%20(1).avif)
.avif)
