Dan*_*iaN 4 mysql sql sql-injection
这是什么意思?
SELECT * from users where password = ''*'';
Run Code Online (Sandbox Code Playgroud)
如果我在mysql workbench中检查这个,我只得到一行,虽然我在表中有很多用户.
这究竟是什么选择的?
有趣的问题.让我们看看是''*''做什么的.
mysql> select ''*'';
+-------+
| ''*'' |
+-------+
| 0 |
+-------+
Run Code Online (Sandbox Code Playgroud)
让我们创建一些用户:
mysql> select * from users;
+------+-------+
| id | name |
+------+-------+
| 1 | joe |
| 2 | moe |
| 3 | shmoe |
| 4 | 4four |
+------+-------+
Run Code Online (Sandbox Code Playgroud)
并测试我们的查询:
mysql> select * from users where name = ''*'';
+------+-------+
| id | name |
+------+-------+
| 1 | joe |
| 2 | moe |
| 3 | shmoe |
+------+-------+
Run Code Online (Sandbox Code Playgroud)
有趣的是,用户4没有被选中!但是让我们这样试试:
mysql> select * from users where name = 4;
+------+-------+
| id | name |
+------+-------+
| 4 | 4four |
+------+-------+
Run Code Online (Sandbox Code Playgroud)
那么,我们可以从中扣除什么呢?
''*'' 不知何故意味着0(我不是那么流利的mysql字符串运算符,所以让我们把它作为一个事实);password以0或非数字开头.'' * ''| 归档时间: |
|
| 查看次数: |
134 次 |
| 最近记录: |