13454735035 cc@jiuwu95.com
网站建设

在网站建设中什么是 SQL 注入攻击?

SQL 注入 (SQLi) 是一种用于将恶意代码注入现有 SQL 语句的技术。

这些注入使恶意用户有可能绕过现有的安全控制并获得未经授权的访问权限以获取、修改和提取数据,包括客户记录、知识产权或个人信息。攻击者还可以使用这种技术来定位管理员的凭据,并完全控制受影响网站建设的网站、应用程序和数据库服务器。

SQL 注入攻击可能会影响任何使用 SQL 数据库并处理数据的应用程序,包括网站、桌面和手机应用程序,并造成极其严重的后果。

SQL 注入是如何工作的?

SQL 注入通常通过网页或应用程序输入执行。这些输入表单通常可以在搜索框、表单字段和 URL 参数等功能中找到。

要执行 SQL 注入攻击,不良行为者需要识别网页或应用程序中的漏洞。定位目标后,攻击者创建恶意有效载荷并发送其输入内容以执行恶意命令。

在某些情况下,不良行为者可能会简单地利用自动化程序为他们执行 SQLi——他们只需要提供目标网站的 URL 即可从受害者那里获取被盗数据。

SQL 注入攻击的类型

在OWASP Top 10中,注入被列为 Web 应用程序安全的第一大威胁,并且 SQL 注入漏洞可以通过多种不同的方式被利用。

SQL 注入的一些常见方法包括在数据库服务器上执行命令、根据错误检索数据或干扰查询逻辑。

1.基于联合的 SQL 注入

这种类型的 SQL 注入是攻击者最常用的方法。

这种注入技术允许不良行为者通过扩展原始查询的结果从数据库中提取数据。它使用 UNION SQL 运算符将两个 SELECT 语句集成到一个结果中,然后将其作为响应的一部分返回。

2.盲注 SQL

通常比其他类型的注入更复杂且更难执行,当从目标接收到一般错误消息时,攻击者会执行盲 SQL 注入。

SQL 盲注与常规 SQL 注入的区别在于它们从数据库中检索信息的方法。在这种技术中,不良行为者在数据库中查询真假问题,然后根据响应确定答案,以及在使用基于时间的攻击时检索服务器响应所需的时间。

3.基于布尔的 SQL 注入

这种类型的攻击将查询的逻辑和条件覆盖为自己的。它通常用于权限或身份验证查询,它们会诱使数据库认为他们具有提升的权限或正确的凭据。

基于布尔值的 SQL 注入也用于盲 SQL 注入,它们通过消除来从数据库中提取数据。通过发送大量请求,每个请求的条件都与先例略有不同,攻击者可以根据操作结果找出存储的数据是什么。

4.基于错误的 SQL 注入

在基于错误的 SQL 注入中,攻击者利用未经过滤的输入触发的网页或应用程序中的数据库错误。

在攻击期间,该技术使用错误消息返回完整的查询结果并从数据库中泄露机密信息。此方法还可用于识别网站或 Web 应用程序是否易受攻击并获取额外信息以重组恶意查询。

5.基于时间的 SQL 注入

在正常的 SQL 注入期间,不良行为者可以简单地读取返回的文本。但是,当攻击者无法从数据库服务器中检索信息时,他们通常会使用基于时间的 SQL 注入来实现其结果。这是通过使用需要很长时间才能完成的操作来实现的——通常是几秒钟。

在确定 Web 应用程序或网站上是否存在漏洞时,通常使用基于时间的 SQL 注入,以及在盲 SQL 注入期间与基于布尔的技术结合使用

本文由宁波久五网络原创分享