SQL Blind Injection Wirkungsweise: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 10: Zeile 10:
 
  1 row in set (0.00 sec)
 
  1 row in set (0.00 sec)
 
*select username from users where username='hans.will' and length(password) > 10;
 
*select username from users where username='hans.will' and length(password) > 10;
  +-------+
+
  Empty set (0.00 sec)
| user  |
+
+-------+
 
| erwin |
 
+-------+
 
1 row in set (0.00 sec)
 
 
*select user from my_auth where user='erwin' and length(password) = 6;
 
*select user from my_auth where user='erwin' and length(password) = 6;
 
  +-------+
 
  +-------+

Version vom 30. August 2023, 09:50 Uhr

Wir wollen das Passwort herausfinen ohne es zu sehen

In diesem Beispiel benutzen wir zur Vereinfachung nur Zahlen

Länge der Passworts ermitteln

  • select username from users where username='hans.will' and length(password) > 5;
+-----------+
| username  |
+-----------+
| hans.will |
+-----------+
1 row in set (0.00 sec)
  • select username from users where username='hans.will' and length(password) > 10;
Empty set (0.00 sec)

  • select user from my_auth where user='erwin' and length(password) = 6;
+-------+
| user  |
+-------+
| erwin |
+-------+
1 row in set (0.00 sec)
Erkenntnis das Passwort ist genau 6 Zeichen lang.
  • select user from my_auth where user='erwin' and substring(password,1,1) > 5 ;

Empty set (0.00 sec)

  • select user from my_auth where user='erwin' and substring(password,1,1) > 3 ;

Empty set (0.00 sec)

  • select user from my_auth where user='erwin' and substring(password,1,1) > 2 ;
+-------+
| user  |
+-------+
| erwin |
+-------+
1 row in set (0.00 sec)
  • select user from my_auth where user='erwin' and substring(password,1,1) = 3 ;
+-------+
| user  |
+-------+
| erwin |
+-------+
1 row in set (0.00 sec)
Erkenntnis Erstes Zeichen gleich 3