基于DOM的客户端SQL注入
在本节中,我们将讨论哪些基于DOM的客户端SQL注入是,描述攻击者如何利用这种漏洞,并提出减少这种攻击暴露的方法。
什么是基于DOM的客户端SQL注入?
当脚本以不安全的方式将攻击者控制数据集中到客户端SQL查询中时,客户端SQL注入漏洞会出现。攻击者可能能够使用此漏洞来构建一个URL,如果另一个用户访问,将在用户浏览器的本地SQL数据库中执行任意SQL查询。
基于DOM的客户端SQL注入有什么影响?
漏洞的潜在影响取决于网站对SQL数据库的使用。beplay体育能用吗如果数据库用于存储敏感数据,例如在社交网络上的消息,则攻击者可能能够检索此数据。
如果数据库用于存储未决的用户操作,例如在电子邮件应用程序中传出消息,则攻击者可能能够修改此数据并代表用户执行任意操作。
哪些接收器可能导致基于DOM的客户端SQL注入漏洞?
JavaScript数据库功能executesql()
可以导致客户端的SQL注射漏洞。
如何防止基于DOM的客户端SQL注入漏洞
除了在基于DOM的漏洞页面,您应确保将参数化查询(也称为准备的语句)用于所有数据库访问。该方法使用两个步骤将潜在污染的数据安全地纳入SQL查询:
- 该应用程序指定查询的结构,为每个用户输入的每个项目留下占位符。
- 该申请指定每个占位符的内容。由于查询的结构已经在第一步中定义了,因此在第二步中不可能干扰查询结构。
在JavaScript中executesql()
可以使用查询字符在查询字符串中指定API,参数化项目?
。对于每个参数化项目,将一个附加参数传递给包含项目值的API。为了防止在应用程序代码库中其他地方的更改引入漏洞,并强烈建议您将包含在数据库查询中的每个变量数据项进行参数化,即使没有明显污染。