我想首先指出,这是对我自己的数据库的教育尝试,以更好地理解 MySQL 注入以保护我自己的代码。
我需要制定几个示例来说明如何针对以下代码构建 MySQL 注入。这是一个基本的用户登录系统,我接受用户名和密码而没有任何转义
$user = (!empty($_POST['user'])) ? $_POST['user'] : '';
$pass = (!empty($_POST['pass'])) ? $_POST['pass'] : '';
MySQL 查询然后尝试在我的名为 users 的表中查找输入的用户名和密码,如下所示:
$res = mysql_query("SELECT * from users where user='{$user}' AND pass='{$pass}'");
这是未转义的输入,我正在尝试使用 MySQL 注入来:
- 绕过密码知道合法用户的用户名(我的用户表中的一个用户是测试人员),并且
- 将完全删除用户表的注入。
我已经尝试了来自Wikipedia的几个 MySQL 注入示例,但我猜{}
我的查询中的内容阻止了注入,所以我希望得到对此有信心的人的一些帮助,并感谢大家。