Ich versuche mein WordPress-Blog zu sichern. Ich habe einige Beiträge im Web gelesen, die ich ändern table_prefix
und verstecken sollte wp-config.php
. Allerdings verstehe ich es nicht? Was könnte ein Angreifer mit meinem machen wp-config.php
?
Ich meine, es gibt meine Datenbankkonfigurationen, aber der Angreifer benötigt DB_HOST
zum Beispiel meine , die nicht so einfach zu bekommen ist, um eine Verbindung zu meiner Datenbank herzustellen? (In meinem Fall ist es : define('DB_HOST', 'localhost');
, die der Angreifer nicht verwenden konnte, um eine Verbindung zu meiner Datenbank herzustellen )
Oder vermisse ich etw?
Ich freue mich sehr über Ihre Antwort!
Antworten:
localhost
bezieht sich auf die Maschine, auf der es läuft. Zum Beispiel auf meiner eigenen Website tomjn.com ist localhost127.0.0.1
wie immer. Dies bedeutet nicht , der Hacker nicht weiß , wo zu verbinden, es bedeutet , dass der Hacker ersetztlocalhost
mittomjn.com
.Wenn ich einen Proxy vor mir habe, funktioniert dies natürlich nicht. Beachten Sie jedoch, dass der Angreifer, wenn er Zugriff auf meinen
wp-config.php
hat, mit demselben Zugriff andere Aufgaben auf diesem Computer ausführen kann.Jetzt hat der Angreifer Ihre Datenbankdetails und kann diese lesen
wp-config.php
. Sie haben jetzt Zugriff auf alles in Ihrer Datenbank und können alles in Ihrer Datenbank ändern.Abhängig von der Sicherheit Ihrer Installation können sie einen Benutzer für sich selbst erstellen, sich anmelden, ein Plugin per Zip mit einem PHP-Shell-Skript hochladen und Befehle ausgeben oder die Site als Teil eines Bot-Netzes verwenden.
Sie haben auch Ihre Salze und geheimen Schlüssel (wenn Sie keine davon haben, schlecht, schlecht, schlecht), so dass das brutale Erzwingen der Passwörter Ihrer Benutzer erheblich einfacher wird. Sie haben auch Zugriff auf ihre E-Mails.
Es genügt zu sagen, dass das Erhalten
wp-config.php
eines der schlimmsten Dinge ist, die passieren können. Es kann noch viel mehr getan werden, aber es würde Monate dauern, um jeden möglichen Angriff, der sich daraus ergibt, abzutippen.Falls Sie
wp-config.php
erworben wurden, ist es wahrscheinlich, dass ein automatisiertes Angriffsskript dies getan hat, nicht eine tatsächliche Person. Ändern Sie alle Ihre Daten, setzen Sie alle Passwörter zurück und schließen Sie die Lücke.quelle
localhost
mittomjn.com
. > Vorausgesetzt, Sie haben den Port zur Datenbank, auf den die Außenwelt zugreifen kann. Wären Sie nicht sicher, wenn Sie den Port in den Firewall-Regeln geschlossen haben und nur Computern im lokalen Netzwerk (einschließlich des Computers, auf dem WordPress selbst ausgeführt wird) die Verbindung zur Datenbank ermöglichen?Wenn Sie nur den Zugriff auf die Datenbank von akzeptieren
localhost
(dies wird nicht durch DefinierenDB_HOST
als erreichtlocalhost
)? Nicht zu viel für sich (der schlimmste Fall wäre, wenn ein Angreifer das Administratorkonto übernimmt), aber in Kombination mit anderen Sicherheitslücken kann es für einen Angreifer hilfreich sein, Zugriff auf Ihre Konfiguration zu haben.Anmeldedaten
Die Benutzer verwenden ihre Benutzernamen und Passwörter wieder. Ein Angreifer prüft, ob Ihr Datenbankbenutzername und Ihr Kennwort (oder Variationen davon) für Ihre WordPress-Installation, für Ihren Hoster, für Ihre E-Mail usw. funktionieren.
Zumindest bekommt ein Angreifer eine Vorstellung davon, welche Art von Passwörtern Sie verwenden (völlig zufällig, nur Kleinbuchstaben / Zahlen, Länge usw.).
Tabellenpräfix
Wenn eine SQL-Injection möglich ist, muss ein Angreifer die Tabellennamen kennen. Abhängig von der Datenbank kann dies sehr einfach sein oder das Erraten beinhalten. Wenn es sich um Vermutungen handelt, ist es am besten, das Tabellenpräfix zu haben.
Schlüssel und Salze
Ich habe diesen Artikel gefunden, der darauf hinweist, dass Sie wirklich nicht möchten, dass diese durchgesickert sind (im Grunde könnte jeder Ihr Administratorkonto übernehmen), obwohl ich nicht weiß, wie aktuell es ist.
Datenbankzeichensatz
Einige SQL-Injektionen hängen vom Zeichensatz ab, daher ist es für einen Angreifer gut, dies zu wissen.
Zusammenfassung
Wenn Sie keinen externen Zugriff auf die Datenbank zulassen, wenn Sie keine Kennwörter wiederverwenden und wenn Sie nirgendwo SQL-Injektionen haben, sind der Schlüssel und die Salze die Hauptsorge.
quelle
Ich gehe davon aus, dass Sie nach dem Lesezugriff fragen, da der Schreibzugriff im Grunde genommen der Zugriff ist, um seinen eigenen Code einzufügen, um mit Ihrer Site alles zu tun, was er möchte.
Ihre Annahme, dass DB-Informationen nicht vertraulich sind, ist falsch. Nehmen wir an, Ihre Website wird bei godaddy gehostet. godaddy AFAIK verwendet dedizierte MySQL-Server, auf die wahrscheinlich nur von ihren eigenen Servern aus zugegriffen werden kann. Wenn ich jedoch Ihre Daten kenne, wie schwierig ist es für mich, ein Godaddy-Konto zu erstellen und ein Skript zu schreiben, das auf Ihre Datenbank zugreift? Bei lokalen DBs ist die Ausnutzung schwieriger, aber auf gemeinsam genutzten Hosting-Servern haben Sie möglicherweise 100 Sites, die den Server mit Ihnen teilen. Können Sie darauf vertrauen, dass sie so sicher sind, dass Mr Evil nicht in sie eindringen und sie zum Angriff auf Ihre Site verwenden kann?
quelle