SQL注入攻击和防御
SQL注入攻击和防御 部分整理。。。 什么是SQL注入? 简单的例子, 对于一个购物网站,可以允许搜索,price小于某值的商品 这个值用户是可以输入的,比如,100 但是对于用户,如果输入,100' OR '1'='1 结果最终产生的sql, SELECT * FROM ProductsTbl WHERE Price < '100.00' OR '1' = '1' ORDER BY ProductDescription; 这样用户可以获取所有的商品信息 再看个例子, 对于用户身份认证,需要输入用户名和密码 但是如果用户在密码里面加入注入代码, SELECT userid FROM CMSUsers WHERE user = 'foo' AND password = 'password' OR '1' = '1'; 这样就一定可以通过验证 注入类型 内联 SQL 注入(Inline SQL Injection) 内联注入是指向查询注入一些SQL 代码后,原来的查询仍然会全部执行 字符串内联注入 例子, 通过下面的sql,把users 表中所有密码都更新为new_password,相当严重 UPDATE users SET password = 'new_password' WHERE username = 'Bob' and password = 'old_password' OR