SQL注入的常见攻击方式和案例分析

SQL注入是一种数据库攻击,2 01 2 年Yahoo! Voices 遭到黑客攻击,暴露了 4 5 0,000 条记录并丢失了后端参数化查询。
防御措施包括参数化查询、ORM、最小权限、定期更新、输入验证和 WAF。
EC场地改造以来,未再发生过类似事故,说明该公司拥有雄厚的技术和管理能力。

基于insert into … values … 的SQL注入(非报错方法)

这种SQL注入,简单来说,就是黑客利用软件漏洞欺骗输入框,导致数据库性能不佳时发生的。
像 INSERT INTO...VALUES... 这样的插入操作是黑客喜欢耍花招的地方。

首先,他们寻找输入框之类的缺陷,并尝试看看是否可以插入SQL代码。
例如,向值添加单引号并查看系统如何反应。
如果系统出现故障,就会出现问题。

然后他们编写糟糕的代码,例如使用 SELECT 来窃取数据。
例如:1 ', (SELECT GROUP_CONCAT(table_name) FROM information_schema.tables WHERE table_schema=DATABASE()), '3 ', 'Glass')--。
诀窍是查看数据库中有哪些表。

然后,当他们看到结果时,例如页面上显示的表名称,他们就知道胜利了一半。

毕竟,他们也可以绕过安全措施。
例如,如果软件过滤掉注释符号,它们会使用多行输入来绕过它。

为了避免这种伎俩,请使用参数化查询,而不是将用户输入直接转换为 SQL 命令。
还要检查输入,不要让不好的东西进来。
还要控制给数据库帐户的权限,不要给太多。
不向用户显示错误消息,也不泄露信息。
定期检查并立即纠正发现的问题。

总之,要小心SQL注入。
不要让黑客得逞。
自己看看,这个技巧就够了它很复杂,需要仔细完成。