SQL Injection:
Um zu verhindern, dass euer Datenbank über eure Website ausgelesen werden kann,
sollte man einige Sachen beachten. Als erstes, sollte man vertrauchliche Einträge
immer verschlüsseln. Es ist zwar meistens möglich sie zu entschlüsseln, braucht aber
sehr viel Rechenpower und macht es damit schwieriger. Besonders bei einem Shop oder
auch bei Kundeninformationen jeglicher Art, sollte man vorsichtig sein.
Solche Angriffe werden meistens über GET Variablen die wir aus Formularen kennen ausgeführt.
Deshalb sollte man GET nur wenn nötig einsetzten und wenn möglich POST benutzen.
Ich empfehle nach heutigem Stand die Verbindung zur Datenbank stets mit PHP Data Objects
oder kurz PDO aufzubauen. PDO blockiert automatisch Angriffe auf die Datenbank über die GET Methode
und ist somit schon etwas sicherer.
Falls Ihr testen möchtet ob euere GET Übergabe angreifbar ist, könnt Ihr nach dem senden
der GET Variable, in der URL den gesendeten Eintrag durch ein Apostroph ersetzen.
Hier ein Beispiel:
https://mdisch.ch/index.php?id=1
wird ersetzt durch
https://mdisch.ch/index.php?id='
Falls auf der Website durch das irgendwelche Änderungen auftreten,
ist die Website nicht geschützt und es können mit hoher Wahrscheinlichkeit,
Datenbankinformationen ausspioniert werden.
Falls Ihr einen zuverlässigeren Test machen wollt könntet Ihr
sqlmap
verwenden und eiere Website auf solche Lücken testen.