50 Farbtöne Drupal-Sicherheit

  1. Für das Passwort-Hashing wird eine modifizierte Version von phpass verwendet , von der sie auf der offiziellen Website abgelehnt wurden . Sie haben es jedoch nicht eilig, den Mechanismus zu ändern [# 1845004] .
  2. Sie möchten nicht einmal die Möglichkeit bieten, einen Hashing-Mechanismus auszuwählen [# 2939888] .
  3. Die Anzahl der Iterationen für die Hash-Persistenz wurde seit mehr als 7 Jahren nicht mehr aktualisiert [# 1850638] , obwohl erwartet wurde, dass die Iterationen um mindestens 2 Jahre zunehmen [# 1203852] .
  4. Bei Verwendung von PostgreSQL wird bei Kennwort-Hashes die Groß- und Kleinschreibung nicht berücksichtigt [# 2475539] .
  5. PostgreSQL hat auch Probleme mit der SSL-Unterstützung [# 850600] .
  6. Die minimal zulässige Version von PostgreSQL 9.2, die seit langem keine Sicherheitsunterstützung mehr bietet [# 2846994] .
  7. Die offizielle Assembly von Drupal enthält veraltete Versionen von Herstellerbibliotheken (aufgrund der Kompatibilität mit PHP 5.5). Einige von ihnen, zum Beispiel Zend, haben sogar bekannte Schwachstellen [# 2989631] .
  8. In der Baugruppe befinden sich auch alle Tests, Testmodule, Testthemen und Herstellerbibliotheken zum Testen, wodurch nicht nur die Größe des Archivs, sondern auch der Bereich möglicher Lücken vergrößert wird [# 2338671] .
  9. Die Idee, ausführbare Dateien außerhalb der Site zu verschieben [# 1672986], wurde ebenfalls blockiert .
  10. Die Suche nach Updates wird mithilfe von GET-Anforderungen mithilfe eines unsicheren HTTP-Protokolls implementiert [# 1538118] . Während eines MITM-Angriffs können Sie alle Links zu Modularchiven entfernen (Domain- und Hash-Beträge werden nicht überprüft). Sie können auch Informationen über die Zusammensetzung der Site, die Liste der Entwickler und deren Aktivitäten sammeln (Anfragen von lokalen Versionen von Sites stimmen auf IP mit Konten auf d.org überein). Mit dem HTTP-Protokoll können Sie ein Skript zum Sammeln von Informationen außerhalb von drupal.org platzieren.
  11. Ein Benutzer mit id = 1 ist das leckerste Objekt, das angegriffen werden kann, da er immer über alle auf der Site vorhandenen Berechtigungen verfügt und auch alle Versuche hat, ihm diese Rechte zu entziehen [# 540008] .
  12. Dieses Verhalten ist nicht ganz offensichtlich, da sich dieser Benutzer im Admin-Bereich visuell nicht von anderen unterscheidet. Aber selbst ein Versuch, diese Funktion hervorzuheben, endete mit nichts [# 572240] .
  13. Jeder Administrator oder andere Benutzer mit den erforderlichen Rechten kann die Kontrolle über diesen göttlichen Benutzer mit der ID = 1 [# 39636] übernehmen .
  14. Bestimmte Rechte geben implizit die Kontrolle über die gesamte Site, aber sie fallen auch in keiner Weise auf [# 2846365] , [# 594412] .
  15. Einige Rechte können sogar durch ihren Namen irreführend sein. Mit dem Recht zum Anzeigen von Protokollen können Sie diese beispielsweise tatsächlich löschen [# 1635646] .
  16. Das Wiederherstellen der Reihenfolge in Berechtigungen war lange Zeit eine dringende Aufgabe, wird jedoch einfach ignoriert [# 2628870] , [# 2667018] .
  17. Der Administrator kann das von einem anderen Benutzer heruntergeladene Dateiobjekt nicht löschen, egal wie bösartig er ist [# 2949017] .
  18. Der Hook hook_file_download verwendet während der Validierung nicht den entsprechenden Controller [# 2148353] .
  19. Die Validierung für Dateien auf der Clientseite funktioniert nicht [# 2938441] .
  20. Schwache Überprüfungen beim Laden beliebiger Dateien [# 2543590] , ganz zu schweigen von allen möglichen RarJpeg-Klebstoffen.
  21. Einige Dateiprüfungen basieren nur auf der .htaccess-Regel [# 2829048] .
  22. .Htaccess verfügt über genügend andere Sicherheitsregeln, die beim Wechsel in eine andere Umgebung (insbesondere Nginx) implizit verloren gehen. Die Implementierung der ähnlichen web.config-Regeln ist jedoch ins Stocken geraten [# 154339] , [# 2669870] .
  23. Standardmäßig können Sie auf jeder Site mit Drupal 8 Bilder mit einer einfachen POST-Anfrage hochladen, die aus dem Namen des Registrierungsformulars und dem Feld für den Benutzeravatar besteht. Es ist bemerkenswert, dass in Drupal 7 die Ausgabe eines solchen Feldes standardmäßig abgelehnt wurde [# 31056] , aber diese Tage sind vorbei.
  24. Beim mehrmaligen Laden einer Datei mit demselben Namen tritt ein Problem im Zusammenhang mit der Implementierung des Algorithmus zum Generieren eindeutiger Dateinamen auf [# 2684403] .
  25. Die Filterung von Bildadressen ist ebenfalls lahm. Daher können Sie Benutzer mit einem Bild mit src = '/ user / logout' [# 144538] abmelden oder einen DOS-Angriff implementieren, indem Sie ein paar hundert Bilder mit src = 'very / hard / page' platzieren.
  26. Eine andere Möglichkeit, Ressourcen zu verbrauchen, besteht darin, 1000x1-Bilder in Felder zu laden, die mit dem Effekt „Skalieren und Zuschneiden“ verarbeitet werden [# 2931533] , [# 872206] .
  27. Sie können die Datenbank einfach mit dem Müllcache füllen, indem Sie einfach die URLs sortieren [# 1245482] , obwohl das Caching-System alle Ressourcen zum Speichern von Ergebnissen, die selbst von Grund auf schneller wären, perfekt wegnimmt [# 2888838] .
  28. Sie können die Site laden und die Protokolle mit Fehlermeldungen füllen, indem Sie spezielle Anforderungen für Kontextlinks verwenden [# 2864933] .
  29. Der Zugriff auf angehängte Dateien und Bilder ist immer verfügbar , unabhängig vom Zugriff auf Inhalte [# 2904842] .
  30. Kommentare zu Inhalten bleiben auch dann verfügbar, wenn der Zugriff auf Inhalte verweigert wird [# 1781766] .
  31. Sie können anhand der Meldung zur Kennwortwiederherstellung [# 1521996] herausfinden, ob Sie Zaregan auf der Website verwenden können.
  32. Das Formular zum Zurücksetzen des Passworts ist nicht vor Überflutung geschützt [# 1681832] .
  33. Beim Erstellen und Überprüfen von Kennwörtern werden ohne Vorwarnung alle Leerzeichen ("\ t \ n \ r \ 0 \ x0B") um [# 1921576] gelöscht . Dies kann eine Überraschung für den Benutzer und eine kleine Erleichterung für den Suchalgorithmus sein.
  34. Wenn Sie nicht die Möglichkeit haben, einen Kennwort-Hash für Brute Force abzurufen, aber eine Benutzersitzung stattfindet, können Sie das Kennwort ohne Einschränkungen über das Konto selbst bruten , z. B. indem Sie das Postfach ändern [# 2339399] .
  35. In diesem Fall weiß der Benutzer übrigens nicht einmal, dass seine Box geändert wurde, da der Versuch, diese Funktion zu implementieren, seit mehreren Jahren eingestellt ist [# 85494] .
  36. Der Algorithmus zur Sitzungsgenerierung ist ebenfalls mittelmäßig [# 2238561] .
  37. Cookies fließen zwischen Websites, die sich in Unterordnern befinden [# 2515054] .
  38. In einigen Fällen können Sie Benutzer blockieren, indem Sie Anforderungen für eine falsche Kennworteingabe bearbeiten [# 2449335] .
  39. Durch den Zugriff auf die Bearbeitung von Twig-Vorlagen erhalten Sie uneingeschränkte Kontrolle über die Site [# 2860607] .
  40. Der XSS-Angriff über die Twig-Attribute [# 2567743] , [# 2552837] , [# 2544110] wird hartnäckig ignoriert .
  41. Sie können XSS auch in Info-Dateien einbetten. Zum Beispiel über die Beschreibungs- oder Paketfelder , deren Nutzung über Features interessant sein kann [# 846430] .
  42. Der X-XSS-Protection-Sicherheitsheader [# 2868150] wird nicht verwendet.
  43. XSS kann auch über die Umleitungsmethode der PlainTextOutput-Klasse übertragen werden, obwohl der Klassenname das Gegenteil sagt [# 2896735] .
  44. Es kann auch eine Überraschung sein, dass einige Methoden die Zugriffsrechte des aktuellen Benutzers überprüfen und zwischenspeichern und nicht die, die an ihn übertragen wurden [# 2628870] , [# 2266809] .
  45. Aufgrund falscher Cache-Einstellungen können Sie dem Benutzer das Anzeigen seines eigenen Profils unmöglich machen [# 2614230] . Ein ähnlicher Trick kann mit bestimmten Einstellungen sowohl für Inhalte [# 2982770] als auch für Medien [# 2889855] ausgeführt werden .
  46. Die Statistiken der Materialansichten können einfach über die übliche for-Schleife in der Browserkonsole bearbeitet werden, wobei Tausende von Ansichten pro Minute gewickelt werden, selbst wenn Sie keinen Zugriff auf das Material selbst haben. Sie können auch noch nicht vorhandene Materialien aufwickeln [# 2616330] .
  47. Lahme Validierung externer URLs [# 2691099] , [# 2652236] .
  48. Es gibt keinen vollständigen Schutz vor Breachattack.com [# 2234243] .
  49. Wenn Sie die Inhaltssicherheitsrichtlinie konfigurieren, fällt der Inhaltseditor ab [# 2789139] .
  50. Dies ist eine Amateurauswahl, die nichts behauptet. Vielleicht kennt jemand schlimmere Löcher? Vom 30.01.2019 bis 15.10.2020 gilt eine Prämie aus dem EU-Haushalt von 89.000,00 €. Sie können versuchen, etwas zu reparieren. Aber wenn es nicht klappt, verzweifeln Sie nicht, die Manieren dieses Projekts sind darauf trainiert, geschickt zwischen Aufgaben zu manövrieren, um Drupal jahrelang an einem Ort zu halten.

Source: https://habr.com/ru/post/de437820/


All Articles