第 38 卷 第 18 期 Vol.38 No.18 计 算 机 工 程 Comuter Engineering 01 年 9 月 Setember 01 安 全 技 术 摘 基 于 网 页 DOM 树 比 对 的 SQL 注 入 漏 洞 检 测 张 晨, 汪 永 益, 王 雄, 施 凡 ( 电 子 工 程 学 院 网 络 工 程 系, 合 肥 30037) 要 : 针 对 传 统 SQL 注 入 漏 洞 检 测 方 法 准 确 率 不 高 的 问 题, 提 出 一 种 基 于 网 页 文 档 对 象 模 型 (DOM) 树 比 对 结 果 的 检 测 方 法 通 过 简 化 基 于 节 点 序 列 的 网 页 比 对 方 法, 减 少 节 点 比 对 次 数, 加 快 检 测 效 率, 并 设 计 实 现 一 个 SQL 注 入 漏 洞 检 测 原 型 系 统 实 验 结 果 表 明, 该 系 统 具 有 较 高 的 SQL 注 入 漏 洞 检 测 效 率 和 准 确 率 关 键 词 : 网 页 比 对 ;SQL 注 入 ; 注 入 漏 洞 检 测 ; 文 档 对 象 模 型 树 ;DOM 树 快 速 比 对 SQL Injection Vulnerability Detection Based on Webage DOM Tree Comarison ZHANG Chen, WANG Yong-yi, WANG Xiong, SHI Fan (Deartment of Network Engineering, Eleconic Engineering Institute, Hefei 30037, China) Absact Aiming at the roblem that aditional SQL injection vulnerability detection results have low accurateness, this aer resents a detection method based on the comarison results of the Webage s Document Object Model(DOM) ee. By simlifying the Web comarison algorithm based on node sequences, it reduces the number of node comare times, and accelerates the detection. A corresonding SQL injection vulnerability detection rototye system is designed and imlied. Exerimental results indicate that the system has high detection efficiency and accurateness. Key words Webage comarison; SQL injection; injection vulnerability detection; Document Object Model(DOM) ee; fast DOM ee comarison DOI: 10.3969/j.issn.1000-348.01.18.030 文 章 编 号 :1000 348(01)18 0111 05 文 献 标 识 码 :A 中 图 分 类 号 :TP391 1 概 述 随 着 网 络 技 术 的 飞 速 发 展 和 Web 时 代 的 到 来, 越 来 越 多 的 公 司 企 业 政 府 部 门 等 在 互 联 网 上 建 立 了 相 应 的 门 户 网 站 Web 漏 洞 层 出 不 穷, 根 据 互 联 网 上 权 威 安 全 机 构 OWASP(Oen Web Alication Security Project) 的 调 查, 目 前 SQL 注 入 攻 击 位 居 针 对 Web 应 用 程 序 攻 击 的 首 位 [1], Web 页 面 SQL 注 入 漏 洞 的 存 在 给 互 联 网 的 安 全 造 成 了 巨 大 的 影 响, 会 导 致 企 业 内 部 重 要 信 息 资 料 泄 露 利 益 受 损, 甚 至 引 发 社 会 的 混 乱 对 Web 页 面 SQL 注 入 漏 洞 的 检 测 和 防 御 一 直 都 是 Web 安 全 领 域 关 注 的 重 点, 国 内 外 开 展 了 大 量 的 研 究 工 作 针 对 传 统 检 测 方 法 准 确 率 不 高 误 判 较 多 的 情 况, 本 文 提 出 一 种 基 于 网 页 文 档 对 象 模 型 (Document Object Model, DOM) 树 快 速 比 对 的 判 定 技 术, 设 计 并 实 现 相 应 的 SQL 注 入 漏 洞 检 测 原 型 系 统 SQL 注 入 漏 洞 检 测 及 网 页 比 对 技 术 SQL 注 入 漏 洞 检 测 过 程 主 要 是 指 对 目 标 Web 站 点 的 URL 地 址 使 用 一 定 的 技 术 手 段 进 行 注 入 测 试, 然 后 根 据 返 回 的 网 页 内 容 确 定 是 否 存 在 注 入 漏 洞 简 单 来 说, 若 在 URL 地 址 后 附 加 and 1=1 测 试 语 句 执 行 后 返 回 正 常 网 页, 而 附 加 或 and 1= 测 试 语 句 执 行 后 返 回 包 含 数 据 库 错 误 信 息 的 网 页 或 者 其 他 与 正 常 时 相 异 的 网 页, 则 判 定 该 Web 页 面 存 在 SQL 注 入 漏 洞, 若 都 相 同, 则 判 定 不 存 在 这 样, 如 何 准 确 和 迅 速 地 比 对 出 返 回 网 页 与 正 常 网 页 的 异 同 就 成 了 SQL 注 入 漏 洞 检 测 和 确 认 过 程 的 关 键, 而 且 检 测 的 准 确 率 和 效 率 很 大 程 度 上 取 决 于 此, 因 此, 亟 需 研 究 出 高 效 的 网 页 比 对 技 术 目 前,SQL 注 入 漏 洞 检 测 过 程 中 使 用 的 判 断 网 页 异 同 的 技 术 比 较 简 单, 流 行 的 SQL 注 入 检 测 工 具 主 要 采 用 种 方 法 : (1) 根 据 返 回 的 HTTP 状 态 码 和 网 页 内 容 长 度, 进 行 判 断 () 根 据 关 键 字 进 行 判 断 [] 第 (1) 种 就 是 比 较 附 加 了 SQL 注 入 测 试 语 句 时 返 回 网 页 的 HTTP 状 态 码 网 页 内 容 长 度 与 正 常 网 页 的 是 否 相 同, 若 不 同, 则 判 定 网 页 相 异, 若 相 同, 则 判 定 网 页 未 发 生 变 作 者 简 介 : 张 晨 (1985-), 男, 硕 士 研 究 生, 主 研 方 向 : 网 络 安 全 ; 汪 永 益, 教 授 ; 王 雄, 硕 士 研 究 生 ; 施 凡, 讲 师 收 稿 日 期 :011-11-17 修 回 日 期 :01-0-0 E-mail:zhangchen301@16.com
11 计 算 机 工 程 01 年 9 月 0 日 化 根 据 关 键 字 判 断 就 是 判 断 附 加 了 SQL 注 入 测 试 语 句 时 返 回 的 网 页 中 是 否 包 含 了 正 常 网 页 中 的 某 个 字 符 串, 若 包 含, 则 判 定 网 页 相 同, 若 不 包 含, 则 判 定 网 页 相 异 3 现 有 网 页 比 对 技 术 的 缺 陷 大 量 的 实 践 结 果 证 明, 利 用 传 统 的 判 断 方 式 进 行 注 入 漏 洞 检 测, 虽 简 单 易 行, 但 检 测 结 果 存 在 较 高 的 误 判 率 这 是 因 为 仅 根 据 HTTP 状 态 码 和 网 页 内 容 长 度 以 及 关 键 字 进 行 判 断, 无 法 得 出 准 确 结 论 具 体 而 言,Web 站 点 出 于 安 全 方 面 的 考 虑, 大 多 数 情 况 下 人 为 修 改 了 网 页 返 回 的 状 态 码 和 网 页 内 容 长 度, 使 得 在 SQL 注 入 漏 洞 的 检 测 确 认 过 程 中 无 法 准 确 得 知 注 入 命 令 是 否 得 到 执 行 以 及 返 回 的 真 实 结 果, 此 时 若 根 据 传 统 方 式 判 断, 就 会 得 到 错 误 的 网 页 比 对 结 果, 产 生 误 判 对 于 某 些 存 在 注 入 漏 洞 的 Web 页 面, 注 入 后 返 回 网 页 内 容 的 长 度 与 正 常 时 相 差 无 几, 据 此 也 很 难 判 定 网 页 是 否 存 在 差 异, 同 样 会 造 成 误 报 另 外, 对 于 关 键 字 判 断, 需 要 人 工 选 取 判 断 关 键 字, 而 且 关 键 字 选 择 的 恰 当 与 否 会 在 很 大 程 度 上 影 响 判 断 结 果 的 准 确 性 以 上 缺 陷 导 致 了 检 测 结 果 的 不 准 确, 需 要 花 费 额 外 的 时 间 去 甄 别 验 证, 降 低 了 效 率 4 基 于 DOM 树 的 网 页 快 速 比 对 技 术 为 了 弥 补 传 统 技 术 的 缺 陷, 准 确 比 对 出 个 网 页 的 异 同, 本 文 提 出 了 一 种 基 于 DOM 树 的 网 页 快 速 比 对 技 术, 首 先 提 取 网 页 的 HTML 文 档 并 进 行 规 范 化 预 处 理, 然 后 通 过 解 析 文 档 内 容 构 建 出 对 应 的 DOM 树, 最 后 对 DOM 树 进 行 快 速 比 对, 判 断 出 网 页 异 同 4.1 HTML 文 档 和 页 面 预 处 理 HTML 是 一 种 描 述 文 档 结 构 的 超 文 本 标 记 语 言 [3] 一 个 Web 页 面 的 HTML 文 档 主 要 是 用 描 述 性 的 标 记 符 来 指 明 文 档 中 的 不 同 内 容, 标 记 符 多 数 是 成 对 出 现 的, 每 对 标 记 符 表 示 了 不 同 的 意 义 [4], 用 于 将 文 档 分 成 不 同 的 逻 辑 结 构, 如 段 落 标 题 和 表 格 但 是 许 多 Web 页 面 的 HTML 文 档 格 式 并 非 严 格 符 合 HTML 语 法 要 求, 如 元 素 标 记 不 完 整 属 性 混 乱 标 记 嵌 套 不 合 理 结 束 标 记 缺 失, 这 些 会 影 响 对 HTML 文 档 的 正 确 解 析, 需 要 对 之 进 行 预 处 理 操 作 预 处 理 是 指 对 HTML 文 档 中 不 完 整 或 者 存 在 缺 陷 的 地 方 进 行 修 复, 将 其 转 换 成 语 法 良 好 格 式 规 范 的 等 价 文 档, 如 符 合 XML 标 准 的 XHTML 文 档 [5] 转 换 后 可 利 用 各 种 XML 标 准 技 术 来 解 析 操 作 XHTML 文 档 4. DOM 树 的 构 建 和 比 对 DOM 是 W3C 制 定 的 标 准 接 口 规 范 [6] DOM 提 供 了 访 问 和 维 护 XML/XHTML 文 档 的 应 用 程 序 接 口, 定 义 了 文 档 的 逻 辑 结 构 以 及 存 取 维 护 文 档 的 方 法 [7], 可 根 据 文 档 中 标 记 符 之 间 的 并 列 嵌 套 等 关 系 将 文 档 表 示 为 一 个 树 形 结 构, 该 树 即 DOM 树 [8] DOM 树 的 构 建 是 指 在 Web 页 面 预 处 理 完 成 后, 对 XHTML 文 档 进 行 解 析, 生 成 相 应 的 DOM 分 析 树 具 体 来 说, 就 是 利 用 解 析 函 数 分 析 出 XHTML 文 档 结 构 元 素 间 的 嵌 套 关 系, 再 根 据 这 些 嵌 套 包 含 关 系 构 建 一 棵 对 象 节 点 树 DOM 树, 并 将 XHTML 文 档 中 的 标 记 符 属 性 等 内 容 映 射 成 DOM 树 中 的 节 点 DOM 树 是 包 含 了 标 签 信 息 的 有 序 树, 其 节 点 存 储 了 XHTML 文 档 的 所 有 信 息, 基 于 DOM 树 的 分 析 方 式 可 以 详 细 了 解 XHTML 的 组 织 结 构 以 及 各 标 记 符 之 间 的 关 系 比 对 目 标 网 页 DOM 树 结 构 节 点 的 差 异 可 以 很 容 易 判 断 出 个 网 页 的 异 同 DOM 树 比 对 主 要 是 指 对 棵 树 进 行 相 似 性 比 较, 判 [9] 断 是 否 相 同, 常 用 的 方 法 主 要 有 基 于 简 单 树 匹 配 算 法 的 [7] 比 对 基 于 DOM 树 节 点 序 列 的 比 对 等 简 单 树 匹 配 算 法 主 要 是 对 棵 树 进 行 递 归 比 较, 分 析 匹 配 节 点 的 数 目 以 判 断 树 的 异 同, 时 空 开 销 比 较 大 基 于 节 点 序 列 的 比 对 是 按 某 种 方 式 遍 历 DOM 树, 形 成 树 中 节 点 名 称 的 序 列, 再 比 较 序 列 间 的 匹 配 程 度 来 判 断 棵 数 的 异 同, 即 转 换 成 字 符 串 的 比 对 虽 然 采 用 上 述 方 式 可 以 判 断 出 网 页 的 异 同, 但 是 对 于 大 规 模 的 SQL 注 入 漏 洞 检 测 而 言, 其 效 率 较 低, 不 符 合 实 际 检 测 需 求 为 了 解 决 此 问 题, 本 文 提 出 了 一 种 根 据 叶 子 节 点 和 链 路 标 记 进 行 快 速 DOM 树 比 对 的 算 法 4.3 DOM 树 快 速 比 对 算 法 在 执 行 SQL 注 入 检 测 时, 存 在 漏 洞 的 Web 页 面 其 布 局 结 构 或 者 显 示 的 文 本 内 容 会 发 生 变 化, 反 映 在 相 应 的 DOM 树 上 往 往 是 树 的 形 状 结 构 或 者 某 条 链 路 上 对 应 的 叶 子 节 点 内 容 出 现 差 异 下 面 以 某 个 具 体 网 页 为 例 进 行 说 明 图 1 和 图 分 别 为 正 常 网 页 截 图 和 单 引 号 测 试 时 返 回 的 出 错 网 页 截 图 图 3 和 图 4 分 别 为 两 者 对 应 的 DOM 树 结 构 简 图 图 图 1 正 常 网 页 单 引 号 测 试 时 返 回 的 出 错 网 页
第 38 卷 第 18 期 张 晨, 汪 永 益, 王 雄, 等 : 基 于 网 页 DOM 树 比 对 的 SQL 注 入 漏 洞 检 测 113 html (5) 判 定 DOM 树 不 同, 结 束 head title X 市 X 局 网 站 为 落 实 执 政 为 民 的 方 针 图 3 正 常 网 页 对 应 的 DOM 树 结 构 简 图 html head title X 市 X 局 网 站 图 4 Microsoft JET 字 符 串 的 出 错 网 页 对 应 的 DOM 树 结 构 简 图 /viewtye 通 过 比 对 个 目 标 Web 页 面 的 DOM 树, 可 以 准 确 判 断 出 个 网 页 的 异 同 由 于 SQL 注 入 导 致 的 变 化 往 往 是 局 部 的, 因 此 本 文 对 基 于 节 点 序 列 的 比 对 方 式 进 行 了 简 化 和 改 进, 不 比 较 DOM 树 的 全 部 节 点 序 列, 仅 选 取 能 体 现 出 这 些 变 化 的 部 分 关 键 节 点 序 列 进 行 比 对,DOM 树 快 速 比 对 算 法 流 程 如 图 5 所 示, 具 体 如 下 : (1) 按 某 种 方 式 遍 历 棵 目 标 DOM 树, 分 别 获 取 叶 子 节 点 标 记 序 列 ( 或 名 称 序 列 ) 和 到 DOM 树 中 每 个 叶 子 节 点 的 链 路 标 记 序 列 () 比 对 棵 DOM 树 的 相 应 叶 子 节 点 标 记 序 列, 若 标 记 序 列 相 同, 则 转 到 步 骤 (3), 若 标 记 序 列 不 相 同, 则 转 到 步 骤 (5) (3) 进 一 步 验 证 随 机 选 取 序 列 中 包 含 文 本 信 息 的 3 个 叶 子 节 点, 依 次 比 对 到 该 叶 子 节 点 的 链 路 标 记 序 列 是 否 相 同, 若 不 相 同, 则 转 到 步 骤 (5), 若 都 相 同, 则 转 到 步 骤 (4) (4) 判 定 DOM 树 相 同, 结 束 图 5 页 面 DOM 树 快 速 比 对 算 法 流 程 4.4 快 速 比 对 算 法 效 率 分 析 基 于 简 单 树 匹 配 的 网 页 相 似 性 比 对 算 法, 其 时 间 复 杂 度 为 On ( ), 其 中,n 为 棵 待 比 对 DOM 树 中 节 点 数 目 的 最 小 值 虽 然 文 献 [9] 结 合 XHTML 文 档 的 特 点 对 该 算 法 进 行 了 改 进, 在 一 定 程 度 上 提 高 了 效 率, 但 仍 未 达 到 快 速 比 对 的 目 标, 另 外 由 于 该 算 法 采 用 递 归 的 比 对 方 式, 因 此 比 对 过 程 相 对 复 杂, 开 销 较 大 基 于 节 点 序 列 的 网 页 相 似 性 比 对 算 法 是 将 树 的 匹 配 转 换 为 节 点 序 列 ( 即 字 符 串 ) 的 比 对, 具 体 可 采 用 编 辑 距 离 等 方 式 进 行 比 对 该 算 法 的 时 间 复 杂 度 也 为 On ( ), 其 中, n 为 棵 DOM 树 对 应 节 点 序 列 长 度 的 最 小 值, 虽 然 在 数 量 级 上 与 简 单 树 匹 配 算 法 相 似, 但 其 实 际 效 率 优 于 简 单 树 匹 配 算 法, 而 且 在 很 大 程 度 上 节 省 了 空 间 代 价 对 于 结 构 复 杂 节 点 数 目 较 多 的 目 标 网 页, 采 用 上 述 种 算 法 进 行 比 对 所 花 费 的 时 间 都 很 长, 根 本 无 法 满 足 SQL 注 入 漏 洞 检 测 对 时 间 效 率 的 需 求 DOM 树 快 速 比 对 算 法 是 在 节 点 序 列 比 对 算 法 的 基 础 上 进 行 改 进 的, 仅 对 树 中 的 叶 子 节 点 序 列 和 部 分 链 路 节 点 标 记 序 列 进 行 比 对, 在 很 大 程 度 上 减 少 了 节 点 的 比 对 次 数, 其 效 率 分 析 具 体 如 下 : 在 棵 DOM 树 不 相 同 的 情 况 下, 其 时 间 复 杂 度 为 On ( N), 其 中,N 为 棵 DOM 树 中 叶 子 节 点 数 目 的 最
114 计 算 机 工 程 01 年 9 月 0 日 小 值 在 DOM 树 相 同 的 情 况 下, 其 时 间 复 杂 度 为 On ( N) + 3 O( L), 其 中,L 为 棵 DOM 树 待 比 对 链 路 节 点 序 列 长 度 的 最 大 值, 实 际 中 O( L ) 的 值 远 小 于 On ( ) 与 上 述 种 算 法 相 比, 假 设 叶 子 节 点 所 占 的 比 例 为 t, 那 么 采 用 快 速 比 对 算 法 的 时 间 复 杂 度 可 减 小 约 O((1 t) n ), t 值 越 小, 其 效 率 越 高 例 如, 对 于 一 个 包 含 76 个 节 点 68 个 叶 子 节 点 最 大 路 径 长 度 为 9 的 网 页 DOM 树 来 说, 此 时 t= 0.46, 其 时 间 复 杂 度 可 降 低 约 75.4%, 大 幅 减 少 了 比 对 时 间 通 过 上 述 分 析 可 以 看 出, 快 速 比 对 算 法 在 比 对 效 率 上 远 高 于 其 他 几 种 算 法 其 合 理 性 在 于,SQL 注 入 漏 洞 检 测 过 程 中 的 网 页 比 对 不 需 要 准 确 详 细 的 比 对 结 果, 只 需 判 断 出 网 页 内 容 是 否 发 生 变 化 即 可, 而 这 些 变 化 一 般 反 映 在 叶 子 节 点 上, 因 此, 采 用 快 速 比 对 算 法 可 以 高 效 地 得 出 网 页 比 对 结 果 但 由 于 该 算 法 并 未 对 网 页 内 容 进 行 完 全 的 分 析 比 对, 无 法 知 悉 具 体 的 差 异, 再 加 上 Web 站 点 配 置 的 复 杂 性, 最 终 的 检 测 结 果 存 在 一 定 的 误 判 5 基 于 网 页 DOM 树 比 对 的 注 入 漏 洞 检 测 原 型 系 统 本 文 设 计 的 基 于 网 页 DOM 树 比 对 的 注 入 漏 洞 检 测 原 型 系 统 如 图 6 所 示, 漏 洞 检 测 过 程 如 下 : (1) 获 取 待 检 测 目 标 网 页 的 HTML 文 档 () 对 HTML 文 档 进 行 规 范 化 预 处 理, 得 到 XHTML 文 档 (3) 对 该 文 档 进 行 解 析, 构 建 相 应 的 DOM 分 析 树 (4) 将 不 同 URL 页 面 的 DOM 树 进 行 比 对 (5) 分 析 比 对 结 果, 得 出 注 入 漏 洞 检 测 结 论 图 6 上 述 5 个 步 骤 分 别 对 应 以 下 5 个 模 块 : (1)HTML 文 档 获 取 模 块 该 模 块 用 来 获 取 需 要 进 行 比 对 的 待 检 测 目 标 网 页 的 HTML 文 档, 包 括 获 取 正 常 网 页 的 HTML 文 档 和 附 加 了 SQL 注 入 测 试 代 码 执 行 后 返 回 网 页 的 HTML 文 档 在 实 [10] 现 时, 系 统 利 用 了 HTMLParser 工 具 的 Connection Manager 函 数, 从 Web 服 务 器 获 取 目 标 页 面 的 HTML 文 档 内 容 () 页 面 HTML 预 处 理 模 块 该 模 块 主 要 是 对 HTML 文 档 进 行 规 范 化 处 理, 修 复 存 在 缺 陷 的 地 方, 转 换 成 语 法 严 谨 格 式 规 范 的 XHTML 等 价 文 档, 便 于 下 一 步 解 析 构 造 出 DOM 分 析 树 实 现 时 [11] 使 用 了 HTML Tidy 预 处 理 工 具 进 行 转 换, 主 要 操 作 包 括 : 统 一 大 小 写, 检 查 和 纠 正 缺 失 或 者 不 匹 配 的 结 束 标 记 符, 为 结 束 标 记 符 添 加 缺 失 的 字 符 /, 为 所 有 不 带 引 号 的 属 性 值 加 上 引 号, 将 URL 地 址 中 的 所 有 \ 字 符 换 成 / 等 (3) 文 档 解 析 模 块 该 模 块 是 对 预 处 理 后 形 成 的 XHTML 文 档 进 行 解 析, 生 成 DOM 树, 即 根 据 详 细 的 文 档 结 构 嵌 套 和 包 含 关 系 等 解 析 构 建 出 目 标 网 页 的 DOM 分 析 树 系 统 实 现 时 利 用 HTMLParser 工 具 的 Parser 函 数 来 解 析 XHTML 文 档, 构 建 出 DOM 树, 并 对 解 析 函 数 的 功 能 进 行 了 一 定 的 扩 展 和 补 充, 以 减 少 比 对 误 差 (4)DOM 树 比 对 模 块 该 模 块 对 棵 目 标 网 页 的 DOM 树 进 行 对 比 分 析, 通 过 比 对 DOM 树 构 成 的 异 同 以 及 节 点 属 性 内 容 等 方 面 的 基 于 页 面 DOM 树 比 对 的 注 入 漏 洞 检 测 原 型 系 统 区 别 来 判 断 个 网 页 是 否 存 在 差 异, 并 且 在 比 对 分 析 后 输 出 比 对 结 果 系 统 实 现 时 使 用 了 基 于 DOM 树 节 点 序 列 匹 配 的 快 速 比 对 算 法 进 行 DOM 树 比 对 (5) 分 析 判 断 模 块 该 模 块 分 析 DOM 树 的 比 对 结 果 并 得 出 最 终 结 论 即 在 DOM 树 比 对 完 毕 后 分 析 不 同 的 SQL 注 入 检 测 命 令 执 行 后 网 页 的 具 体 变 化 情 况, 再 根 据 检 测 注 入 漏 洞 的 方 法 进 行 判 断, 最 后 输 出 注 入 漏 洞 检 测 结 果 6 实 验 及 结 果 分 析 6.1 快 速 比 对 算 法 的 有 效 性 验 证 为 了 验 证 4.4 节 的 分 析 结 果, 从 互 联 网 上 选 取 了 一 个 存 在 SQL 注 入 漏 洞 且 规 模 适 中 的 网 页 进 行 比 对 测 试, 该 网 页 对 应 的 DOM 树 有 415 个 节 点, 其 中, 叶 子 节 点 数 为 134, 最 大 路 径 长 度 为 1, 注 入 测 试 后 返 回 的 出 错 网 页 对 应 的 DOM 树 有 389 个 节 点, 其 中 叶 子 节 点 数 为 119, 最 大 路 径 长 度 为 11 对 这 组 目 标 DOM 树 分 别 使 用 简 单 树 匹 配 算 法 序 列 比 对 算 法 和 快 速 比 对 算 法 进 行 相 似 性 比 对, 所 消 耗 的 时 间 结 果 如 表 1 所 示 从 中 可 以 看 出, 快 速 比 对 算 法 所 用 的 时 间 大 约 是 简 单 树 匹 配 算 法 的 34% 序 列 比 对 算 法 的 39%, 进 一 步 验 证 了 本 文 算 法 能 有 效 减 少 目 标 DOM 树 的 比 对 时 间 算 法 表 1 3 种 对 比 算 法 的 耗 时 比 较 消 耗 时 间 简 单 树 匹 配 算 法 1 439 序 列 比 对 算 法 10 583 快 速 比 对 算 法 4 17 ms
第 38 卷 第 18 期 张 晨, 汪 永 益, 王 雄, 等 : 基 于 网 页 DOM 树 比 对 的 SQL 注 入 漏 洞 检 测 115 6. 检 测 系 统 的 有 效 性 验 证 为 了 验 证 本 文 的 SQL 注 入 漏 洞 检 测 系 统 的 优 越 性, 首 先 随 机 从 互 联 网 上 提 取 了 大 约 1 000 个 真 实 的 动 态 URL 地 址 构 建 出 测 试 样 本 集 具 体 过 程 为 : 通 过 Google 搜 索 引 擎 按 一 定 的 搜 索 语 法 和 关 键 字 进 行 搜 索, 再 使 用 程 序 抽 取 出 搜 索 结 果 中 所 包 含 的 动 态 URL 链 接 地 址, 最 后 经 简 单 的 处 理 形 成 测 试 样 本 集 其 所 使 用 的 搜 索 命 令 越 精 确, 相 应 的 检 测 效 果 就 越 好 ( 表 给 出 了 本 次 实 验 中 使 用 不 同 关 键 字 搜 索 获 取 的 动 态 URL 地 址 数 量 ) 该 实 验 的 测 试 环 境 为 : (1)CPU 为 Intel Pentium 3.0 GHz; () 内 存 为 1 GB; (3) 操 作 系 统 为 Windows XP SP3; (4) 浏 览 器 为 Firefox3.6; (5) 使 用 C# 实 现 算 法 及 检 测 程 序 表 使 用 不 同 搜 索 关 键 字 获 取 的 URL 地 址 数 量 所 使 用 的 搜 索 命 令 及 关 键 字 获 取 的 URL 数 目 inurl:as?id= intitle:media 49 inurl:as?id= intext:comany 71 inurl:as?id= intitle:society 37 inurl:as?id= intext:couny 4 接 着 对 获 取 的 URL 地 址 测 试 样 本 集 进 行 SQL 注 入 漏 洞 检 测 验 证 和 有 效 性 对 比 实 验, 具 体 的 实 验 过 程 为 : 利 用 本 文 设 计 的 系 统 工 具 对 测 试 样 本 集 中 的 每 个 URL 地 址 进 行 SQL 注 入 漏 洞 检 测, 根 据 添 加 不 同 注 入 命 令 执 行 后 返 回 的 网 页 与 正 常 网 页 的 异 同 来 判 断 该 URL 地 址 是 否 存 在 注 入 漏 洞, 并 对 检 测 结 果 的 正 确 性 进 行 手 工 验 证 同 时 为 了 加 以 对 照 分 析, 又 选 取 啊 D Domain HDSI 这 3 种 常 用 的 SQL 注 入 漏 洞 检 测 工 具, 分 别 对 测 试 样 本 集 中 所 有 的 URL 地 址 进 行 了 相 同 的 注 入 漏 洞 检 测 和 正 确 性 验 证 实 验, 实 验 结 果 如 表 3 所 示 检 测 工 具 表 3 不 同 注 入 漏 洞 检 测 工 具 检 测 结 果 的 比 较 检 测 出 注 入 漏 洞 的 URL 地 址 总 数 正 确 数 量 误 判 数 量 正 确 率 /(%) 平 均 检 测 时 间 /s 本 文 工 具 138 11 17 87.7.36 啊 D 119 85 34 71.5 0.743 Domain 16 95 31 75.4 0.89 HDSI 107 79 8 73.8 0.851 从 上 面 的 结 果 可 以 看 出, 基 于 网 页 DOM 树 快 速 比 对 的 SQL 注 入 漏 洞 检 测 工 具 在 检 测 结 果 的 正 确 率 上 明 显 高 于 其 他 几 种 工 具, 不 足 之 处 是 要 付 出 一 定 的 时 间 代 价 总 体 而 言, 本 文 的 比 对 算 法 较 好 地 解 决 了 传 统 注 入 漏 洞 检 测 过 程 中 因 使 用 简 单 网 页 比 对 技 术 所 带 来 的 结 果 不 准 确 效 率 不 高 的 问 题, 是 一 种 简 单 高 效 的 网 页 比 对 方 法 7 结 束 语 SQL 注 入 漏 洞 检 测 在 Web 应 用 程 序 的 安 全 和 防 御 上 有 着 很 高 的 价 值, 检 测 结 果 的 高 准 确 度 利 于 制 定 出 有 针 对 性 的 高 效 的 解 决 方 案 本 文 将 基 于 网 页 DOM 树 的 快 速 比 对 技 术 应 用 于 SQL 注 入 漏 洞 的 检 测 和 判 断 过 程 中, 有 效 提 高 了 检 测 结 果 的 正 确 率, 弥 补 了 传 统 技 术 手 段 的 缺 陷 不 足 的 是 并 未 对 防 注 入 系 统 进 行 分 析 判 断, 对 注 入 检 测 所 产 生 的 错 误 页 面 信 息 也 未 加 以 详 细 的 区 别 和 分 类 处 理, 导 致 网 页 比 对 结 果 存 在 一 定 的 误 报, 在 一 定 的 程 度 上 影 响 了 检 测 结 果 的 正 确 率 下 一 步 要 细 化 系 统 对 SQL 注 入 漏 洞 的 检 测 过 程, 提 高 网 页 比 对 的 效 率, 优 化 系 统 功 能 参 考 文 献 [1] OWASP-To10-010 Document[EB/OL]. [011-11-16]. htt:// www.owas.org/index.h/category:owasp_to_ten_project. [] Clarke J. SQL 注 入 攻 击 与 防 御 [M]. 黄 晓 磊, 李 化, 译. 北 京 : 清 华 大 学 出 版 社, 010. [3] Hickson I, Hyatt D. HTML 5: A Vocabulary and Associated APIs for HTML and XHTML[EB/OL]. [011-11-16]. htt://www. w3.org/tr/009/wd-htm15-00901/. [4] 吴 恒 亮. 基 于 本 体 和 DOM 树 的 Web 信 息 抽 取 技 术 研 究 [J]. 情 报 学 报, 010, 8(7): 1055-1059. [5] Fallside D C, Walmsley P. XML Schema Part 0: Primer nd Edition[EB/OL]. [011-11-13]. htt://www.w3.org/tr/xmlschema -0/. [6] Document Object Model[EB/OL]. [011-11-16]. htt://www. w3.org/dom/. [7] 李 冬. 基 于 DOM 树 的 DeeWeb 实 体 抽 取 的 研 究 与 实 现 [D]. 沈 阳 : 东 北 大 学, 008. [8] 黄 歆, 桑 楠. 基 于 DOM 树 和 递 归 X-Y 分 割 算 法 的 Zone 树 模 型 [J]. 计 算 机 工 程, 009, 35(5): 53-55. [9] 何 昕, 谢 志 鹏. 基 于 简 单 树 匹 配 算 法 的 Web 页 面 结 构 相 似 性 度 量 [J]. 计 算 机 研 究 与 发 展, 007, 44(z): 1-6. [10] HTML Parser.0[EB/OL]. [011-11-11]. htt://www.sourceforge. net/javadoc/index.html. [11] Raggett D. Clean U Your Web Pages with HTML Tidy[EB/OL]. [011-11-10]. htt://www.w3.org/peole/raggetc/tidy. 编 辑 张 帆