Benutzer mit den meisten Antworten
Verwundbarkeiten von ASP.NET Core

Frage
-
Hallo Forum,
in unserer Firma hatten wir eine Wordpress-Instanz, die einige Zeit wunderbar lief. In den letzten Monaten hatten wir aber mindestens 2 Angriffe. Zum einen scheint ein User Adminrechte erhalten zu haben, und hatte in der Datenbank zu jeder Seite und jedem Post ein verschlüsseltes JavaScript eingebaut, was bewirkte, das man beim Aufruf der Webseite via Android oder iPhone auf Glücksspielseiten landete. Der zweite Angriff veränderte einige Theme Dateien so, dass sie Malware ausliefern.
Jetzt habe ich in den letzten Wochen einen eigenen kleinen Blog mit ASP .NET Core erstellt und ich frage mich, ob dies nicht auch eine Lösung für die Arbeit wäre. Denn: Sämtlicher Code liegt auf der Festplatte. Gäbe es einen Hack, dann deployd man das Projekt eben nochmals. Die einzige Schwachstelle wäre die Datenbank.
Sehe ich das so richtig? Oder gibt es noch weitere Verwundbarkeiten, die ich übersehen habe?
Gruß
Sascha
Antworten
-
Hallo Sascha,
... Die einzige Schwachstelle wäre die Datenbank. Sehe ich das so richtig? Oder gibt es noch weitere Verwundbarkeiten, die ich übersehen habe?
es tut mir leid, dir deine Illusionen zerstören zu müssen aber Nein, Du siehst das nicht richtig und Ja, es gibt noch viel mehr Verwundbarkeiten und Angriffsmöglichkeiten.
ASP.NET (ob Core oder Classic) wird euch nicht retten. Dass eure Wordpress Installation mehrfach erfolgreich gehackt wurde, spricht ja auch nicht gegen die verwendete Technologie PHP an sich. Natürlich kann es auch im zugrundeliegenden Framework wie PHP, .NET, ASP.NET, usw. zu sicherheitsrelevanten Bugs kommen, die ein Angreifer ausnutzen kann. In 99% der Fälle ist es aber einfach Schludrigkeit und/oder fehlendes Wissen des Entwicklers, der die Anwendung bzw. im Fall von Wordpress in der Regel das AddOn/Plugin/Zusatzmodul/... gebastelt hat.
Zum überwiegenden Teil sind erfolgreiche Hacks von sehr weit verbreiteten Systemen wie Wordpress, Typo3, ... auf Admins zurückzuführen, die ihre Arbeit nicht sonderlich ernst zu nehmen scheinen. Die meisten Sicherheitslücken sind vor großflächigen Angriffen bekannt und es gibt in sehr vielen Fällen auch Updates. Falls ja, sollte man diese natürlich einspielen, falls nicht, sollte man den betreffenden Teil der Site entfernen.
Zu deiner Ausgangsfrage: Klar kannst Du, wenn Du alle derzeitigen und auch zukünftigen Angriffsszenarien vollständig ausschließen kannst, deine Anwendung als "Lösung" sehen. Da insbesondere zukünftige Angriffsszenarien aber naturgemäß nicht bekannt sind, lässt sich das in der Regel auch nicht ausschließen.
Ein Vorteil wäre nur, dass sich ein Angreifer wohl nicht unbedingt die Mühe machen wird, deine Anwendung bis ins Detail zu analysieren um einen Angriff durchführen zu können. Bei den Systemen wie WP, die teils ja millionenfach im Einsatz sind, lohnt sich das natürlich, bei etwas selbst gebautem nur, wenn der Angreifer ganz gezielt auf etwas aus ist.
Das hält Skriptkiddies und Bots natürlich trotzdem nicht davon ab, deine Seite(n) mit Testaufrufen zu überprüfen und bei Erfolg dann wieder Schadecode einzuschleusen.
Schau mal bspw. hier rein:
10 Points to Secure Your ASP.NET Core MVC Applications
Evtl. gibt dir das schon mal einen kleinen Denkanstoß.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport- Bearbeitet Stefan FalzModerator Sonntag, 4. November 2018 10:40
- Als Antwort markiert saigkill0 Freitag, 3. Mai 2019 09:54
Alle Antworten
-
Hallo Sascha,
wenn es einem Angreifer gelingt auf dem Webserver zu kommen und das auch noch mit Adminrechten, dann hat man eh verloren. Sollte es dazu kommen aus welchen gründen auch immer, würde ich sofort den Webserver neu aussetzen und versuchen das loch zu schließen. Einfach die Anwendungen neu bauen reicht nicht.
Die meisten angriffe gehen eh über die Datenbank. Oft sind auf solchen Website Formulare die Serverseitig den erhaltenden Content nicht Maskieren und bei erneuten ausgeben der enthaltene Code ausgeführt wird. Nennt sich auch SQL Injection. In der Datenbank sollte auch kein Javascript Code landen der später beim User ausgeführt wird. Leider sehen ich das immer wieder und zwar grade bei CMS wie Wordpress. In der DB sollte nur Text sein. Alles andere ist statisch
Gruß Thomas
13 Millionen Schweine landen jährlich im Müll
Dev Apps von mir: UWP Segoe MDL2 Assets, UI Strings- Bearbeitet Thomas Wycichowski Samstag, 3. November 2018 18:06
-
Hallo Sascha,
... Die einzige Schwachstelle wäre die Datenbank. Sehe ich das so richtig? Oder gibt es noch weitere Verwundbarkeiten, die ich übersehen habe?
es tut mir leid, dir deine Illusionen zerstören zu müssen aber Nein, Du siehst das nicht richtig und Ja, es gibt noch viel mehr Verwundbarkeiten und Angriffsmöglichkeiten.
ASP.NET (ob Core oder Classic) wird euch nicht retten. Dass eure Wordpress Installation mehrfach erfolgreich gehackt wurde, spricht ja auch nicht gegen die verwendete Technologie PHP an sich. Natürlich kann es auch im zugrundeliegenden Framework wie PHP, .NET, ASP.NET, usw. zu sicherheitsrelevanten Bugs kommen, die ein Angreifer ausnutzen kann. In 99% der Fälle ist es aber einfach Schludrigkeit und/oder fehlendes Wissen des Entwicklers, der die Anwendung bzw. im Fall von Wordpress in der Regel das AddOn/Plugin/Zusatzmodul/... gebastelt hat.
Zum überwiegenden Teil sind erfolgreiche Hacks von sehr weit verbreiteten Systemen wie Wordpress, Typo3, ... auf Admins zurückzuführen, die ihre Arbeit nicht sonderlich ernst zu nehmen scheinen. Die meisten Sicherheitslücken sind vor großflächigen Angriffen bekannt und es gibt in sehr vielen Fällen auch Updates. Falls ja, sollte man diese natürlich einspielen, falls nicht, sollte man den betreffenden Teil der Site entfernen.
Zu deiner Ausgangsfrage: Klar kannst Du, wenn Du alle derzeitigen und auch zukünftigen Angriffsszenarien vollständig ausschließen kannst, deine Anwendung als "Lösung" sehen. Da insbesondere zukünftige Angriffsszenarien aber naturgemäß nicht bekannt sind, lässt sich das in der Regel auch nicht ausschließen.
Ein Vorteil wäre nur, dass sich ein Angreifer wohl nicht unbedingt die Mühe machen wird, deine Anwendung bis ins Detail zu analysieren um einen Angriff durchführen zu können. Bei den Systemen wie WP, die teils ja millionenfach im Einsatz sind, lohnt sich das natürlich, bei etwas selbst gebautem nur, wenn der Angreifer ganz gezielt auf etwas aus ist.
Das hält Skriptkiddies und Bots natürlich trotzdem nicht davon ab, deine Seite(n) mit Testaufrufen zu überprüfen und bei Erfolg dann wieder Schadecode einzuschleusen.
Schau mal bspw. hier rein:
10 Points to Secure Your ASP.NET Core MVC Applications
Evtl. gibt dir das schon mal einen kleinen Denkanstoß.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport- Bearbeitet Stefan FalzModerator Sonntag, 4. November 2018 10:40
- Als Antwort markiert saigkill0 Freitag, 3. Mai 2019 09:54