SQL(结构化查询语言)是一种允许我们与数据库交互的语言。现代Web应用程序使用数据库来管理数据并向读者显示动态内容。 SQL注入或SQLi是一种对Web应用程序的攻击,通过恶意SQL语句破坏其数据库。 由于这是一种常见的攻击,让我们尝试更多地了解它是什么,它是如何发生的,以及如何保护自己免受它的侵害。 什么是SQL注入? SQL注入漏洞是如何工作的? SQL注入的类型 如何防止SQL注入 WordPress中的SQL注入 SQL注入是非法的吗? 什么是SQL注入? SQL注入或SQLi是对Web应用程序的一种攻击,它使攻击者能够将恶意SQL语句插入到Web应用程序中,从而可能获得对数据库中敏感数据的访问权或破坏这些数据。SQL注入首先由Jeff Forristal于1998年发现。 自发现以来的二十年里,SQL 注入一直是Web开发人员在设计应用程序时的重中之重。 Barclaycard在2012年估计,97%的数据泄露是由SQL注入攻击引发的。即使在今天,SQL注入也很普遍,并且Web应用程序中注入攻击的严重性已得到广泛认可。它是OWASP十大最关键的 Web 应用程序安全风险之一。 SQL注入漏洞是如何工作的? SQL注入漏洞使攻击者可以通过使用恶意SQL语句完全访问您的应用程序的数据库。 在本节中,我们将分享一个易受攻击的应用程序的示例。 想象一下典型Web应用程序的工作流程,其中涉及通过用户输入的数据库请求。您通过表单获取用户输入,例如登录表单。然后,您使用用户提交的字段查询您的数据库以对其进行身份验证。对数据库的查询结构如下所示: select * from user_table where username = ‘sdaityari’ and password = ‘mypassword’; 为简单起见,假设您将密码存储为明文。但是,对salt your passwords然后对其进行散列处理是一种很好的做法。继续前进,如果您从表单中收到用户名和密码,您可以在PHP中定义查询,如下所示: // Connect to SQL database $db_query = “select * from user_table where username = ‘”.$user.”‘ AND password = ‘”.$password.”‘;”; […]






