PCAP安全分析
Security Analysis On PCAP
我对 SQL 注入完全陌生,我有一个标准的 PCAP 分析,其中有如下攻击:
所以我使用 python 脚本分析了 PCAP 文件,我确定存在 SQL 注入攻击。我的问题是,这种攻击在以下情况下如何运作,即
id=10 or 1=1 union select null, concat(first_name,0x3a,pass) from users
或者,例如第 75 帧,其中进行了一些串联?
谢谢。
id=10
可能是由您的 page/app 合法生成的。
其余的从table中提取所有记录(or 1=1
总是正确的)。 union
将多个结果集连接在一起,因此可以添加来自另一个 (users
) table.
的额外结果
在这种情况下,串联是拉取 first_name
字段和 password
字段,用冒号分隔(0x3a
是 ASCII colon)
然而,该页面通常会显示结果,运行它与上述查询一起添加了包含名称和密码详细信息的其他行,从而允许攻击者转储您的敏感信息。
P.S。我希望密码字段包含加盐哈希,而不是纯文本密码?如果没有,您需要开始告诉用户他们的密码已泄露。由于许多用户在任何地方都重复使用密码,因此您也可能泄露了其他帐户。
编辑:重新帧 75:
这是与上面突出显示的攻击类似的攻击,不同之处在于它不是尝试从您创建的 table 中转储数据,而是试图转储 SQL 的架构信息( table / 字段定义,包括字段名称)。
information_schema.columns
是 MySQL 特有的(我想......已经有一段时间了)所以如果你不使用 MySQL 那可能行不通。当然,如果你是,攻击者可能已经设法获得所有 table 的所有字段名称的列表,从而使其他攻击更容易成为目标并且更有可能成功
我对 SQL 注入完全陌生,我有一个标准的 PCAP 分析,其中有如下攻击:
所以我使用 python 脚本分析了 PCAP 文件,我确定存在 SQL 注入攻击。我的问题是,这种攻击在以下情况下如何运作,即
id=10 or 1=1 union select null, concat(first_name,0x3a,pass) from users
或者,例如第 75 帧,其中进行了一些串联?
谢谢。
id=10
可能是由您的 page/app 合法生成的。
其余的从table中提取所有记录(or 1=1
总是正确的)。 union
将多个结果集连接在一起,因此可以添加来自另一个 (users
) table.
在这种情况下,串联是拉取 first_name
字段和 password
字段,用冒号分隔(0x3a
是 ASCII colon)
然而,该页面通常会显示结果,运行它与上述查询一起添加了包含名称和密码详细信息的其他行,从而允许攻击者转储您的敏感信息。
P.S。我希望密码字段包含加盐哈希,而不是纯文本密码?如果没有,您需要开始告诉用户他们的密码已泄露。由于许多用户在任何地方都重复使用密码,因此您也可能泄露了其他帐户。
编辑:重新帧 75:
这是与上面突出显示的攻击类似的攻击,不同之处在于它不是尝试从您创建的 table 中转储数据,而是试图转储 SQL 的架构信息( table / 字段定义,包括字段名称)。
information_schema.columns
是 MySQL 特有的(我想......已经有一段时间了)所以如果你不使用 MySQL 那可能行不通。当然,如果你是,攻击者可能已经设法获得所有 table 的所有字段名称的列表,从而使其他攻击更容易成为目标并且更有可能成功