软件安全知识之漏洞类别 结构化输出产生漏洞
程序的常规要求是,在运行时构建出有条理的输出,然后由另一个程序使用。示例包括:构造数据库使用的SQL查询,或构造Web浏览器使用的HTML页面。可以将生成结构化输出的代码视为子组件。输出的预期结构,以及如何在输出中使用子组件的输入,可以被视为该子组件应遵守的协定。例如,当提供名称和密码作为输入时,预期的输出是一个SQL查询,该查询从用户中选择具有给定名称和密码的用户数据库表。 query=”select * from users where name=’” + name + ”’” and pw = ’” + password + ”’” • SQL注入漏洞是一种结构化输出生成漏洞,其中结构化输出由SQL代码组成。这些漏洞与服务器端Web应用程序软件特别相关,在服务器端Web应用程序软件中,应用程序通常通过部分基于Web表单提供的输入构造查询来与后端数据库进行交互。 • 结构化输出可以是支持句法结构明显不同的子语言的语言。这种问题案例的一个重要例子是HTML,它支持JavaScript,CSS和SVG等子语言。 • 结构化输出的计算可以在不同的阶段进行,一个阶段的输出被存储,然后作为后续阶段的输入进行检索。经历多个阶段的结构化输出生成漏洞有时称为存储注入漏洞,或者更一般地称为高阶注入漏洞。以下的示例对象包括不仅是存储的XSS和包含高阶代码的SQL注入。 利用结构化输出生成漏洞的攻击技术通常取决于结构化输出语言的性质,但已知并记录了用于利用SQL注入或脚本注入的各种攻击技术。在sql注入中,sql注入器可以通过执行一系列命令来实现对数据库的访问,包括查询、删除、更改、重命名、修改、删除、删除文件等。 (编辑:银川站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |