{"id":167,"date":"2019-11-28T14:26:48","date_gmt":"2019-11-28T14:26:48","guid":{"rendered":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/?p=167"},"modified":"2020-05-26T13:29:31","modified_gmt":"2020-05-26T13:29:31","slug":"lets-talk-about-security-sql-injection","status":"publish","type":"post","link":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/lets-talk-about-security-sql-injection\/","title":{"rendered":"Let\u2019s Talk About Security \u2013 SQL Injection"},"content":{"rendered":"\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-1 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<p>In diesem Beitrag werde ich auf eine Angriffsmethode eingehen, die seit mehreren Jahren auf Platz 1 der OWASP Top 10 Sicherheitsrisiken f\u00fcr Webanwendungen steht: Die SQL Injection. Viele Entwickler sch\u00fctteln weiterhin noch die K\u00f6pfe, wie eine so simpel aufgebaute Angriffsmethode an der Spitze der Sicherheitsl\u00fccken stehen kann. Einer der Gr\u00fcnde, warum SQL Injections bei den Hackern so beliebt sind, ist die einfache und schnelle Nutzung dieser Sicherheitsl\u00fccke. Dies folgt durch den hohen Zeitdruck in den Entwicklungsphasen von Applikationen, bei denen die Funktionalit\u00e4t an erster Stelle steht und die Sicherheitsvorkehrungen erst zum Schluss kommen.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"316\" src=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_1-600x316.png\" alt=\"Spritze f\u00fcr SQL Injection\" class=\"wp-image-459\" srcset=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_1-600x316.png 600w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_1-1024x539.png 1024w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_1-768x404.png 768w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_1-640x337.png 640w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_1.png 1140w\" sizes=\"auto, (max-width: 639px) 98vw, (max-width: 1199px) 64vw, 600px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>Bei der SQL Injection nutzt der Hacker die unzureichende \u00dcberpr\u00fcfung der Eingabedaten ins System aus. Hierbei werden die Standard-Datenbank-Queries zu Gunsten des Angreifers umgeschrieben, um auf sensible Informationen des Servers zuzugreifen. In schlimmeren F\u00e4llen ist es einem Angreifer sogar m\u00f6glich, Datenbanken umzuschreiben und eigene Inhalte hochzuladen. Der Zugangspunkt f\u00fcr solche Injections kann von externen sowie von registrierten Benutzern ausgenutzt werden. Daher kommt auch der Leitspruch \u201eNever Trust The User!\u201c.<\/p>\n\n\n\n<p>Damit Ihre Systeme vor SQL Injections gesch\u00fctzt werden k\u00f6nnen, werde ich versuchen, ein Grundverst\u00e4ndnis \u00fcber die Funktionsweise von Injections zu vermitteln. Wie der Name der Injections bereits verr\u00e4t, handelt es sich hierbei um manipulierte SQL-Abfragen. Zu diesem Zweck m\u00fcssen die Angriffsvektoren genauer betrachtet werden. Klassische Beispiele f\u00fcr SQL-Abfragen auf Websites sind:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Authentifikation (Login-Fenster)<\/li><li>Suchfelder (Extrahieren die relevanten Informationen aus der Datenbank)<\/li><li>URL (Weblink anpassen)<\/li><\/ul>\n\n\n\n<p>Im Bereich des Login-Fensters werden zwei Felder f\u00fcr die Eingabe der User-Informationen bereitgestellt. Die eingetragenen Informationen werden an den Server weitergeleitet, woraufhin die Datenbank nach einem passenden User durchsucht wird.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"429\" height=\"271\" src=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_2.jpg\" alt=\"User-Informationen SQL-Injection\" class=\"wp-image-460\"\/><figcaption><em>Abbildung 1: Login-Maske zur User-Abfrage<\/em><\/figcaption><\/figure>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Wird kein passender User gefunden, schl\u00e4gt der Login fehl. Auf Quellcode-Ebene wird der String von \u201eUsername\u201c und \u201ePassword\u201c dazu genutzt, eine SQL-Query aufzubauen, die wiederum daf\u00fcr genutzt wird, auf die Datenbank zuzugreifen. Der Code w\u00fcrde in etwa so aussehen:<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>    var User = getName(\"Tester\");\n    var Password = getPass(\"Passwort1\");\n    sql_cmd = 'SELECT * FROM Users WHERE Name =\"' + User + '\" AND Password =\"' + + '\"'<\/code><\/pre>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Resultierende SQL-Query:<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \u2192&nbsp; SELECT * FROM Users WHERE Name = \u201cTester\u201d AND Password = \u201cPasswort1\u201d<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>In diesem Beispiel wird die Eingabe des Nutzers ohne \u00dcberpr\u00fcfung angenommen und dazu verwendet, die Query zu bauen. Der Eingabe des Nutzers wird vertraut. Handelt es sich nun um einen Hacker, der diese Schwachstelle sieht, k\u00f6nnte er sie folgenderma\u00dfen ausnutzen.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"437\" height=\"295\" src=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_3.jpg\" alt=\"User-Informationen SQL-Injection\" class=\"wp-image-461\"\/><figcaption><em>Abbildung 2: Login ohne \u00dcberpr\u00fcfung<\/em><\/figcaption><\/figure>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Es werden Sonderzeichen und Befehle in die Login-Felder hinzugef\u00fcgt, um die SQL-Query zu erg\u00e4nzen. Mit den abgebildeten Eingaben w\u00fcrde solch eine Query entstehen:<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Resultierende SQL-Query:<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \u2192&nbsp; SELECT * FROM Users WHERE Name =\u201d\u201d or \u201c\u201d=\u201c\u201d AND Password =\u201d\u201d or \u201c\u201d=\u201d\u201d\u2018<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Das erg\u00e4nzende OR in der Query, welches in diesem Fall immer TRUE zur\u00fcckgibt, f\u00fchrt dazu, dass jeder Eintrag aus der Tabelle angezeigt wird. Pr\u00fcft das System beim Login nur, ob der User mit dem entsprechenden Passwort in der Datenbank vorhanden ist, w\u00fcrde er bei dieser Abfrage immer eine positive Antwort bekommen. Somit w\u00e4re die Eingabe f\u00fcr ein ungesch\u00fctztes System ein universaler Schl\u00fcssel f\u00fcr alle Angreifer.<\/p>\n\n\n\n<p>Dies ist ein Beispiel, wie eine SQL Injection in Login-Felder durchgef\u00fchrt werden kann. Die Injection kann aber auch \u00fcber die URL einer Internetseite durchgef\u00fchrt werden. Aufgebaut ist die URL aus der Adresse der Internetseite und einem Pfad, der das Verzeichnis des Servers darstellt. In diesem Dateipfad sind auch PHP- oder HTML-Parameter vorhanden, welche die Abfrage des Nutzers widerspiegeln.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Beispiel-URLs:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><em>http:\/\/testmysql.com\/report.php?id=23<\/em><\/li><li><em>http:\/\/www.testmysql.com\/search.html?query=test&amp;searchProfile=tester<\/em><\/li><\/ul>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Diese Parameter in den URL-Pfaden k\u00f6nnten f\u00fcr Injections verwendet werden. \u00c4hnlich wie beim ersten Beispiel kann der String so ausgetauscht werden, dass eine SQL-Query f\u00fcr Zwecke des Angreifers manipuliert wird.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li>Ver\u00e4nderte URL:&nbsp;<em>http:\/\/testmysql.com\/report.php?id=105; DROP TABLE items; \u2014<\/em><\/li><li>Resultierende Query:&nbsp; &nbsp;\u2192&nbsp; SELECT * FROM items WHERE id = 105; DROP TABLE items; \u2014<\/li><\/ul>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Durch das Hinzuf\u00fcgen des DROP TABLES wird der Query ein weiterer SQL-Befehl hinzugef\u00fcgt und nach Aufbau der Verbindung zur Datenbank ausgef\u00fchrt. Zuerst wird die erw\u00fcnschte Standard-Abfrage ausgef\u00fchrt. Es wird nach der ID 105 gesucht, aber direkt danach die komplette Tabelle mit allen darin befindlichen Daten gel\u00f6scht.<\/p>\n\n\n\n<p>Ich hoffe, ich konnte mit diesen beiden Beispielen zeigen, wie kritisch sich Injections auf eine Datenbank auswirken k\u00f6nnen. Hier muss nat\u00fcrlich auch dazugesagt werden, dass es sich bei diesen Injections um sehr einfache Beispiele handelt. Solche Injections k\u00f6nnen nicht auf jeder Seite direkt aufgerufen werden. In der Praxis m\u00fcssen sich potenzielle Angreifer mehr anstrengen. Es sind zwar via Google Internetseiten zu finden, die einen solchen URL-Pfad besitzen \u2013 wie z.B.:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><em>inurl:\u201dproduct.php?id=\u201d site:.de<\/em><\/li><\/ul>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Diese sind aber in vielen F\u00e4llen gesichert. Des Weiteren muss sich ein Angreifer zuerst einmal einen \u00dcberblick \u00fcber das System verschaffen. Jede Datenbank ist mit anderen Strukturen aufgebaut und besitzt andere Namen f\u00fcr die Tabellen, beispielsweise f\u00fcr die Benutzerinformationen. Aktiv kann man sein System durch die Verwendung von Standard-Frameworks sch\u00fctzen. Diese haben sich bew\u00e4hrt und werden st\u00e4ndig weiterentwickelt. Sofern man solch ein Framework f\u00fcr das eigene System zus\u00e4tzlich anpasst, erh\u00f6ht sich der Aufwand f\u00fcr einen Angreifer weiter. Der Angreifer muss mehrere Versuche starten, um herauszufinden inwiefern die Queries \u00fcberpr\u00fcft und was f\u00fcr Input-Formate genutzt werden. Entsprechend der Fehlermeldungen, die bei diesen Test-Injections angezeigt werden, bekommt der Angreifer mitunter leider Informationen, die er f\u00fcr seinen Angriff ben\u00f6tigt. Darum ist es sehr wichtig, Fehlermeldungen, die dem Benutzer angezeigt werden, auf ihren Inhalt zu \u00fcberpr\u00fcfen. In einem schlechten Fall sagt die Fehlermeldung aus, in welcher Datenbank-Tabelle mit welchen Spalten sich bestimmte Informationen befinden. Mit diesen Informationen ist es dann sehr einfach, eine passende Injection aufzubauen. Eine weitere wichtige Schutzma\u00dfnahme ist es, f\u00fcr den Zugriff auf die Datenbank einen User zu nutzen, dessen Rechte beschr\u00e4nkt sind. Damit verhindert man Befehle wie das L\u00f6schen oder \u00c4ndern von Daten in den Tabellen. Weiterhin sollten \u201eStored Procedures\u201c verwendet werden, damit die M\u00f6glichkeiten zum Zugriff auf die Datenbank zus\u00e4tzlich eingeschr\u00e4nkt werden.<\/p>\n\n\n\n<p>Im Zuge einer umfassenden Qualit\u00e4tssicherung kann man potenziell gef\u00e4hrliche Schwachstellen nat\u00fcrlich auch durch Tests erkennen und anschlie\u00dfend beseitigen.<\/p>\n\n\n\n<p>Zum Testen solcher Sicherheitsl\u00fccken gibt es mehrere Tools, welche die \u00fcblichen Schwachstellen ausnutzen, um die Systeme auf Schwachstellen zu testen. Diese Tools werden fortlaufend weiterentwickelt und k\u00f6nnen nicht nur von Entwicklern, sondern auch von Testern verwendet werden. Dies betrifft z.B. folgende Tools:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>BSQL Hacker<\/li><li>SQLmap<\/li><li>SQLNinja<\/li><li>Safe3 SQL Injector<\/li><\/ul>\n\n\n\n<p>Nachdem die Grundlagen erkl\u00e4rt wurden, werde ich jetzt ein praktisches Beispiel unter Verwendung eines der genannten Tools vorf\u00fchren. Das SQLmap-Tool erm\u00f6glicht es sowohl einem Angreifer als auch einem Tester, mit wenigen Kommandozeilen die Datenbank einer Internetseite zu durchforsten. Handelt es sich z.B. um eine PHP-Anwendung, welche den \u201cphp?id\u201d-String im URL-Pfad besitzt, kann dieser als Schnittstelle f\u00fcr die Injection genutzt werden.<\/p>\n\n\n\n<figure class=\"wp-block-image size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"174\" src=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_4-600x174.png\" alt=\"Code SQL-Injection\" class=\"wp-image-462\" srcset=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_4-600x174.png 600w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_4-1024x297.png 1024w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_4-768x223.png 768w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_4-1536x445.png 1536w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_4-640x185.png 640w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_4-1200x348.png 1200w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_4.png 1732w\" sizes=\"auto, (max-width: 639px) 98vw, (max-width: 1199px) 64vw, 600px\" \/><figcaption><em>Abbildung 3: Abfrage verbundener Datenbanken<\/em><\/figcaption><\/figure>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Das Tool \u00fcberpr\u00fcft mit Hilfe seiner Standard-Abfragen, mit welchen Datenbanken die Internetseite verbunden ist. F\u00fcr dieses Beispiel \u00fcberpr\u00fcfen wir die selbsterstellte Website \u201etesting-site.com\u201c. Durch die Injection l\u00e4sst sich einfach in Erfahrung bringen, dass die Datenbanken INFORMATION, WALLET und TESTING-DATABASE m\u00f6gliche Ziele f\u00fcr einen Angriff sind. Nachdem man erfahren hat, welche Datenbanken zu Auswahl stehen, ist es m\u00f6glich, die n\u00e4chste Ebene zu analysieren.<\/p>\n\n\n\n<figure class=\"wp-block-image size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"314\" src=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_5-600x314.png\" alt=\"Code SQL-Injection\" class=\"wp-image-463\" srcset=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_5-600x314.png 600w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_5-1024x535.png 1024w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_5-768x401.png 768w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_5-1536x803.png 1536w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_5-640x334.png 640w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_5-1200x627.png 1200w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_5.png 1638w\" sizes=\"auto, (max-width: 639px) 98vw, (max-width: 1199px) 64vw, 600px\" \/><figcaption><em>Abbildung 4: Tabellen der TESTING Database<\/em><\/figcaption><\/figure>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>In der TESTING-Database sind neun Tabellen implementiert. Als n\u00e4chstes wird die Tabelle USERS genauer betrachtet, um die Informationen herauszulesen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"263\" src=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_6-600x263.png\" alt=\"Code SQL-Injection\" class=\"wp-image-464\" srcset=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_6-600x263.png 600w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_6-1024x449.png 1024w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_6-768x337.png 768w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_6-1536x673.png 1536w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_6-640x281.png 640w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_6-1200x526.png 1200w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_6.png 1679w\" sizes=\"auto, (max-width: 639px) 98vw, (max-width: 1199px) 64vw, 600px\" \/><figcaption><em>Abbildung 5: Analyse der USERS-Tabelle<\/em><\/figcaption><\/figure>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Mit der genaueren Analyse der USERS-Tabelle wei\u00df der Angreifer nun, welche Spalten ausgelesen werden m\u00fcssen, um an die gew\u00fcnschten Daten zu kommen. Mit den gesammelten Informationen ist man nun in der Lage, eine spezifische Injection zu schreiben, um der Datenbank Informationen \u00fcber die Benutzer zu entziehen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"104\" src=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_7-600x104.png\" alt=\"Code SQL-Injection\" class=\"wp-image-465\" srcset=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_7-600x104.png 600w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_7-1024x177.png 1024w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_7-768x133.png 768w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_7-1536x265.png 1536w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_7-640x111.png 640w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_7-1200x207.png 1200w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_7.png 1766w\" sizes=\"auto, (max-width: 639px) 98vw, (max-width: 1199px) 64vw, 600px\" \/><figcaption><em>Abbildung 6: Nutzer-Informationen im Klartext<\/em><\/figcaption><\/figure>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Der USERNAME und die EMAIL sind innerhalb der Datenbank im Klartext gespeichert. Das PASSWORT wurde verschl\u00fcsselt. Nun w\u00e4re der n\u00e4chste Schritt z.B. anhand von Rainbow-Tabellen die Passw\u00f6rter zu entschl\u00fcsseln, um daraufhin einen User verwenden zu k\u00f6nnen.<\/p>\n\n\n\n<p>Ich hoffe, ich konnte mit diesem Blogbeitrag einen kleinen Einblick in SQL Injections geben und auf die entsprechenden Sicherheitsl\u00fccken aufmerksam machen. Denn leider werden diese viel zu oft ausgenutzt, um auf fremde Systeme zuzugreifen und dagegen sollte man entsprechende Schutzma\u00dfnahmen ergreifen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Viele Entwickler sch\u00fctteln weiterhin noch die K\u00f6pfe, wie die SQL Injection, eine so simpel aufgebaute Angriffsmethode, an der Spitze der Sicherheitsl\u00fccken stehen kann. <\/p>\n","protected":false},"author":19,"featured_media":459,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"advgb_blocks_editor_width":"","advgb_blocks_columns_visual_guide":"","footnotes":""},"categories":[10,11],"tags":[63,64,65,66,67,68,69,337,59,60,61,62],"topics":[226],"class_list":["post-167","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-qualitaetssicherung","category-web","tag-sql-injection","tag-sql-abfragen","tag-stored-procedures","tag-owasp","tag-injections","tag-angreifer","tag-hacker","tag-editorschoice","tag-sql-query","tag-sicherheitsluecke","tag-sicherheit","tag-security","topics-security"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Let\u2019s Talk About Security \u2013 SQL Injection - ZEISS Digital Innovation Blog<\/title>\n<meta name=\"description\" content=\"Viele Entwickler sch\u00fctteln die K\u00f6pfe, wie die SQL Injection, eine so simpel aufgebaute Angriffsmethode, an der Spitze der Sicherheitsl\u00fccken stehen kann.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/lets-talk-about-security-sql-injection\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Let\u2019s Talk About Security \u2013 SQL Injection - ZEISS Digital Innovation Blog\" \/>\n<meta property=\"og:description\" content=\"Viele Entwickler sch\u00fctteln die K\u00f6pfe, wie die SQL Injection, eine so simpel aufgebaute Angriffsmethode, an der Spitze der Sicherheitsl\u00fccken stehen kann.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/lets-talk-about-security-sql-injection\/\" \/>\n<meta property=\"og:site_name\" content=\"Digital Innovation Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ZEISSDigitalInnovation\/\" \/>\n<meta property=\"article:published_time\" content=\"2019-11-28T14:26:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-05-26T13:29:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1140\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Neco Giedrojc\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ZEISS_di\" \/>\n<meta name=\"twitter:site\" content=\"@ZEISS_di\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Neco Giedrojc\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"7\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/lets-talk-about-security-sql-injection\/\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/lets-talk-about-security-sql-injection\/\",\"name\":\"Let\u2019s Talk About Security \u2013 SQL Injection - ZEISS Digital Innovation Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/lets-talk-about-security-sql-injection\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/lets-talk-about-security-sql-injection\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_1.png\",\"datePublished\":\"2019-11-28T14:26:48+00:00\",\"dateModified\":\"2020-05-26T13:29:31+00:00\",\"author\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/636a70d9f661e239161bd72d164b9942\"},\"description\":\"Viele Entwickler sch\u00fctteln die K\u00f6pfe, wie die SQL Injection, eine so simpel aufgebaute Angriffsmethode, an der Spitze der Sicherheitsl\u00fccken stehen kann.\",\"breadcrumb\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/lets-talk-about-security-sql-injection\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/lets-talk-about-security-sql-injection\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/lets-talk-about-security-sql-injection\/#primaryimage\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_1.png\",\"contentUrl\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_1.png\",\"width\":1140,\"height\":600,\"caption\":\"Spritze f\u00fcr SQL Injection\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/lets-talk-about-security-sql-injection\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Let\u2019s Talk About Security \u2013 SQL Injection\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#website\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/\",\"name\":\"Digital Innovation Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/636a70d9f661e239161bd72d164b9942\",\"name\":\"Neco Giedrojc\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/giedrojc_neco-scaled-e1588663640620-150x150.jpg\",\"contentUrl\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/giedrojc_neco-scaled-e1588663640620-150x150.jpg\",\"caption\":\"Neco Giedrojc\"},\"description\":\"Neco Giedrojc schloss sich kurz nach seinem Studienabschluss im Bereich \u201eComputer Engineering\u201c dem Testbereich der ZEISS Digital Innovation an und arbeitet dort als Tester. Dabei befasst er sich in seinem Hauptprojekt aktuell mit dem Integrationstest komplexer Systeme.\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/author\/necogiedrojc\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Let\u2019s Talk About Security \u2013 SQL Injection - ZEISS Digital Innovation Blog","description":"Viele Entwickler sch\u00fctteln die K\u00f6pfe, wie die SQL Injection, eine so simpel aufgebaute Angriffsmethode, an der Spitze der Sicherheitsl\u00fccken stehen kann.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/lets-talk-about-security-sql-injection\/","og_locale":"de_DE","og_type":"article","og_title":"Let\u2019s Talk About Security \u2013 SQL Injection - ZEISS Digital Innovation Blog","og_description":"Viele Entwickler sch\u00fctteln die K\u00f6pfe, wie die SQL Injection, eine so simpel aufgebaute Angriffsmethode, an der Spitze der Sicherheitsl\u00fccken stehen kann.","og_url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/lets-talk-about-security-sql-injection\/","og_site_name":"Digital Innovation Blog","article_publisher":"https:\/\/www.facebook.com\/ZEISSDigitalInnovation\/","article_published_time":"2019-11-28T14:26:48+00:00","article_modified_time":"2020-05-26T13:29:31+00:00","og_image":[{"width":1140,"height":600,"url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_1.png","type":"image\/png"}],"author":"Neco Giedrojc","twitter_card":"summary_large_image","twitter_creator":"@ZEISS_di","twitter_site":"@ZEISS_di","twitter_misc":{"Verfasst von":"Neco Giedrojc","Gesch\u00e4tzte Lesezeit":"7\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/lets-talk-about-security-sql-injection\/","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/lets-talk-about-security-sql-injection\/","name":"Let\u2019s Talk About Security \u2013 SQL Injection - ZEISS Digital Innovation Blog","isPartOf":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/lets-talk-about-security-sql-injection\/#primaryimage"},"image":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/lets-talk-about-security-sql-injection\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_1.png","datePublished":"2019-11-28T14:26:48+00:00","dateModified":"2020-05-26T13:29:31+00:00","author":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/636a70d9f661e239161bd72d164b9942"},"description":"Viele Entwickler sch\u00fctteln die K\u00f6pfe, wie die SQL Injection, eine so simpel aufgebaute Angriffsmethode, an der Spitze der Sicherheitsl\u00fccken stehen kann.","breadcrumb":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/lets-talk-about-security-sql-injection\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.zeiss.com\/digital-innovation\/de\/lets-talk-about-security-sql-injection\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/lets-talk-about-security-sql-injection\/#primaryimage","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_1.png","contentUrl":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_1.png","width":1140,"height":600,"caption":"Spritze f\u00fcr SQL Injection"},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/lets-talk-about-security-sql-injection\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/"},{"@type":"ListItem","position":2,"name":"Let\u2019s Talk About Security \u2013 SQL Injection"}]},{"@type":"WebSite","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#website","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/","name":"Digital Innovation Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/636a70d9f661e239161bd72d164b9942","name":"Neco Giedrojc","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/image\/","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/giedrojc_neco-scaled-e1588663640620-150x150.jpg","contentUrl":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/giedrojc_neco-scaled-e1588663640620-150x150.jpg","caption":"Neco Giedrojc"},"description":"Neco Giedrojc schloss sich kurz nach seinem Studienabschluss im Bereich \u201eComputer Engineering\u201c dem Testbereich der ZEISS Digital Innovation an und arbeitet dort als Tester. Dabei befasst er sich in seinem Hauptprojekt aktuell mit dem Integrationstest komplexer Systeme.","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/author\/necogiedrojc\/"}]}},"author_meta":{"display_name":"Neco Giedrojc","author_link":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/author\/necogiedrojc\/"},"featured_img":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/201909_Security_SQL-Injection_1-600x316.png","coauthors":[],"tax_additional":{"categories":{"linked":["<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/qualitaetssicherung\/\" class=\"advgb-post-tax-term\">Qualit\u00e4tssicherung<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/web\/\" class=\"advgb-post-tax-term\">Web<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">Qualit\u00e4tssicherung<\/span>","<span class=\"advgb-post-tax-term\">Web<\/span>"]},"tags":{"linked":["<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/web\/\" class=\"advgb-post-tax-term\">SQL Injection<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/web\/\" class=\"advgb-post-tax-term\">SQL-Abfragen<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/web\/\" class=\"advgb-post-tax-term\">Stored Procedures<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/web\/\" class=\"advgb-post-tax-term\">OWASP<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/web\/\" class=\"advgb-post-tax-term\">Injections<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/web\/\" class=\"advgb-post-tax-term\">Angreifer<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/web\/\" class=\"advgb-post-tax-term\">Hacker<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/web\/\" class=\"advgb-post-tax-term\">Editor&#039;s Choice<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/web\/\" class=\"advgb-post-tax-term\">SQL-Query<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/web\/\" class=\"advgb-post-tax-term\">Sicherheitsl\u00fccke<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/web\/\" class=\"advgb-post-tax-term\">Sicherheit<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/web\/\" class=\"advgb-post-tax-term\">Security<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">SQL Injection<\/span>","<span class=\"advgb-post-tax-term\">SQL-Abfragen<\/span>","<span class=\"advgb-post-tax-term\">Stored Procedures<\/span>","<span class=\"advgb-post-tax-term\">OWASP<\/span>","<span class=\"advgb-post-tax-term\">Injections<\/span>","<span class=\"advgb-post-tax-term\">Angreifer<\/span>","<span class=\"advgb-post-tax-term\">Hacker<\/span>","<span class=\"advgb-post-tax-term\">Editor&#039;s Choice<\/span>","<span class=\"advgb-post-tax-term\">SQL-Query<\/span>","<span class=\"advgb-post-tax-term\">Sicherheitsl\u00fccke<\/span>","<span class=\"advgb-post-tax-term\">Sicherheit<\/span>","<span class=\"advgb-post-tax-term\">Security<\/span>"]}},"comment_count":"0","relative_dates":{"created":"Posted 6\u00a0Jahren ago","modified":"Updated 6\u00a0Jahren ago"},"absolute_dates":{"created":"Posted on November 28, 2019","modified":"Updated on Mai 26, 2020"},"absolute_dates_time":{"created":"Posted on November 28, 2019 2:26 p.m.","modified":"Updated on Mai 26, 2020 1:29 p.m."},"featured_img_caption":"","series_order":"","_links":{"self":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/posts\/167","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/users\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/comments?post=167"}],"version-history":[{"count":11,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/posts\/167\/revisions"}],"predecessor-version":[{"id":542,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/posts\/167\/revisions\/542"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/media\/459"}],"wp:attachment":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/media?parent=167"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/categories?post=167"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/tags?post=167"},{"taxonomy":"topics","embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/topics?post=167"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}