数据库安全之SQL注入电脑资料
数据库平安之SQL注入 电脑资料 很多 web 开发者没有注意到 SQL 查询是可以被篡改的,因而把 SQL 查询当作可信任的命令, 直接 SQL 命令注入就是攻击者常用的一种创立或修改已有 SQL
数据库平安之SQL注入 电脑资料 很多 web 开发者没有注意到 SQL 查询是可以被篡改的,因而把 SQL 查询当作可信任的命令, 直接 SQL 命令注入就是攻击者常用的一种创立或修改已有 SQL 语 句的技术,从而到达取得隐藏数据,或覆盖关键的值,甚至执行数 据库主机操作系统命令的目的。这是通过应用程序取得用户输入并 与静态参数组合成 SQL 查询来实现的。下面将会给出一些真实的例 子。 由于在缺乏对输入的数据进展验证,并且使用了超级用户或其它有 权创立新用户的数据库帐号来连接,攻击者可以在数据库中新建一 个超级用户。 例子 27-2. 一段实现数据分页显示的代码……也可 以被用作创立一个超级用户(PostgreSQL系统)。 $offset =$argv[0]; // 注意,没有输入验证! $query ="SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $offset;"; $result =pgquery($conn, $query); ?> 一般的用户会点击 $offset 已被斌值的“上一页”、“下一页”的 链接。原本代码只会认为 $offset 是一个数值。然而,如果有人尝 试把以下语句先经过 urlencode() 处理,然后参加URL中的话: 0; insert into pgshadow(usename,usesysid,usesuper,usecatupd,passwd) select 'crack', usesysid, 't','t','crack' from pgshadow where usename='postgres';

