SQL注入Payload List

  • 发表于
  • 周边

SQL注入Payload List

本文中解释什么是SQL注入,罗列一些常见SQL注入语句示例,常见SQL注入扫描工具等。

什么是SQL注入(SQLi)?

SQL注入是一个网络安全漏洞,它使攻击者能够干扰应用程序对其数据库的查询。通常,它使攻击者可以查看他们通常无法检索的数据。这可能包括属于其他用户的数据,或者应用程序本身能够访问的任何其他数据。在许多情况下,攻击者可以修改或删除此数据,从而导致应用程序内容或行为的永久更改。

在某些情况下,攻击者可以升级SQL注入攻击以破坏基础服务器或其他后端基础结构,或者执行拒绝服务攻击。

SQL注入Payload List
SQL注入类型描述
In-band SQLi (Classic SQLi)In-band SQLi注入是SQL注入攻击中最常见和最容易利用的。当攻击者能够使用相同的查询发起攻击并收集结果时,就会发生In-band SQLi注入。In-band SQLi注入的两种最常见类型是基于错误的SQLi和基于联合的SQLi。
Error-based SQLi基于错误的SQLi是一种In-band SQLi注入技术,它依赖于数据库服务器抛出的错误消息来获取有关数据库结构的信息。在某些情况下,仅基于错误的SQL注入足以使攻击者枚举整个数据库。
Union-based SQLi基于联合的SQLi是一种In-band SQLi注入技术,它利用UNION SQL运算符将两个或多个SELECT语句的结果组合为一个结果,然后将其作为HTTP响应的一部分返回。
Inferential SQLi (Blind SQLi)不同于In-band SQLi,Inferential SQL注入可能需要更长的时间才能被攻击者利用,但是,它与任何其他形式的SQL注入一样危险。在Inferential SQLi攻击中,实际上没有数据通过Web应用程序传输,并且攻击者无法看到In-band攻击的结果(这就是为什么这种攻击通常称为“盲SQL注入攻击”的原因)。相反,攻击者可以通过发送Payloads,观察Web应用程序的响应以及数据库服务器的最终行为来重建数据库结构。Inferential SQL注入的两种类型是基于盲布尔的SQLi和基于盲时间的SQLi。
Boolean-based (content-based) Blind SQLi基于布尔的SQL注入是一种Inferential SQL注入技术,该技术依赖于向数据库发送SQL查询,该查询强制应用程序根据查询返回的是TRUE还是FALSE结果返回不同的结果。根据结果​​,HTTP响应中的内容将更改或保持不变。即使没有从数据库返回任何数据,这也使攻击者可以推断使用的Payload返回的是true还是false。
Time-based Blind SQLi基于时间的SQL注入是一种Inferential SQL注入技术,该技术依赖于向数据库发送SQL查询,该查询强制数据库在响应之前等待指定的时间(以秒为单位)。响应时间将向攻击者指示查询结果是TRUE还是FALSE。根据结果​​,HTTP响应将延迟返回,或者立即返回。即使没有从数据库返回任何数据,这也使攻击者可以推断使用的Payload返回的是true还是false。
Out-of-band SQLiOut-of-band SQL注入不是很常见,主要是因为它取决于Web应用程序正在使用的数据库服务器上启用的功能。当攻击者无法使用同一通道发起攻击并收集结果时,就会发生Out-of-band SQL注入。Out-of-band技术为攻击者提供了基于时间推断的技术的替代方法,尤其是在服务器响应不是非常稳定的情况下(使基于时间推断的攻击不可靠)。
Voice Based Sql Injection这是一种sql注入攻击方法,可以应用于通过语音通信访问数据库的应用程序中

SQL注入漏洞扫描程序工具:

通用SQL注入Payloads

常规 Error Based Payloads

通用 Time Based SQL Injection Payloads

通用 Union Select Payloads

SQL注入 Auth Bypass Payloads

参考