网 站 安 全 扫 描 报 告 http://wjw.changning.sh.cn 漏 洞 扫 描 报 告 上 海 三 零 卫 士 信 息 安 全 有 限 公 司 1
1. 概 述 1.1 扫 描 对 象 序 号 1 IP 地 址 域 名 http://wjw.changning.sh.cn 1.2 漏 洞 等 级 分 布 风 险 类 型 数 量 高 风 险 1 中 风 险 5 低 风 险 4 信 息 类 4 7% 29% 高 风 险 36% 中 风 险 低 风 险 28% 信 息 类 1.3 漏 洞 类 型 分 布 17 2 1 1 2 1 1 1 1 5 漏 洞 名 称 SQL 盲 注 漏 洞 2 应 用 程 序 错 误 信 息 1 ASP.NET 错 误 信 息 1 页 面 错 误 信 息 2 未 加 密 的 VIEWSTATE 参 数 17 用 户 认 证 信 息 使 用 明 文 传 送 1 ASP.NET 调 试 功 能 开 启 1 按 键 劫 持 : 缺 少 跨 框 架 头 部 Options 方 法 定 义 1 2
OPTIONS 方 法 开 启 1 可 能 存 在 敏 感 目 录 5 2. 漏 洞 详 情 2.1 漏 洞 等 级 说 明 漏 洞 等 级 分 为 高 中 低 三 个 级 别 : 高 风 险 : 攻 击 者 可 以 通 过 这 些 漏 洞 直 接 控 制 站 点 或 服 务 器, 对 应 用 的 影 响 非 常 大, 所 以 需 要 立 即 解 决 中 风 险 : 利 用 此 类 漏 洞 需 要 一 定 条 件, 攻 击 者 无 法 直 接 实 施 攻 击, 对 于 这 类 漏 洞 可 以 延 后 处 理 低 风 险 : 这 类 漏 洞 危 害 性 很 低, 但 是 攻 击 者 可 以 获 取 服 务 器 或 网 站 的 敏 感 信 息, 此 类 漏 洞 可 以 根 据 需 要 进 行 加 固 信 息 类 : 这 类 信 息 只 是 提 示 信 息, 表 示 您 的 网 站 存 在 此 类 信 息 2.2 高 风 险 漏 洞 名 称 SQL 盲 注 漏 洞 高 风 险 网 站 页 面 存 在 SQL 盲 注 漏 洞, 攻 击 者 可 以 通 过 在 URL 中 加 入 攻 击 代 码 对 数 据 库 进 行 非 法 操 作, 并 在 WEB 返 回 的 错 误 信 息 中 获 取 数 据 库 中 敏 感 信 息, 攻 击 者 在 成 功 利 用 此 漏 洞 后 可 以 以 管 理 员 身 份 登 陆 网 站 后 台 或 直 接 控 制 网 站 服 务 器 禁 止 用 户 提 交 含 有 SQL 代 码 的 内 容, 过 滤 select update xp_cmdshell insert and or > < = % / \ 等 字 符 /ProductList.aspx /ProductedDetaile.aspx 2.3 中 风 险 漏 洞 名 称 应 用 程 序 错 误 信 息 中 风 险 3
网 站 页 面 可 能 存 在 应 用 程 序 错 误 网 站 页 面 存 在 错 误 可 能 会 暴 露 网 站 敏 感 内 容, 包 括 网 站 物 理 目 录 链 接 数 据 库 等 如 果 攻 击 者 通 过 伪 造 包 含 非 应 用 程 序 预 期 的 参 数 或 参 数 值 的 请 求, 来 探 测 应 用 程 序 ( 如 以 下 示 例 所 示 ), 那 么 应 用 程 序 可 能 会 进 入 易 受 攻 击 的 未 定 义 状 态 攻 击 者 可 以 从 应 用 程 序 对 该 请 求 的 响 应 中 获 取 有 用 的 信 息, 且 可 利 用 该 信 息, 以 找 出 应 用 程 序 的 弱 点 例 如, 如 果 参 数 字 段 是 单 引 号 括 起 来 的 字 符 串 ( 如 在 ASP 脚 本 或 SQL 查 询 中 ), 那 么 注 入 的 单 引 号 将 会 提 前 终 止 字 符 串 流, 从 而 更 改 脚 本 的 正 常 流 程 / 语 法 错 误 消 息 中 泄 露 重 要 信 息 的 另 一 个 原 因, 是 脚 本 编 制 引 擎 Web 服 务 器 或 数 据 库 配 置 错 误 以 下 是 一 些 不 同 的 变 体 : [1] 除 去 参 数 [2] 除 去 参 数 值 [3] 将 参 数 值 设 置 为 空 值 [4] 将 参 数 值 设 置 为 数 字 溢 出 (+/- 99999999) [5] 将 参 数 值 设 置 为 危 险 字 符, 如 ' " \' \" ) ; [6] 将 某 字 符 串 附 加 到 数 字 参 数 值 1. 审 核 网 站 程 序, 解 决 网 站 程 序 错 误 [a] 检 查 入 局 请 求, 以 了 解 所 有 预 期 的 参 数 和 值 是 否 存 在 当 参 数 缺 失 时, 发 出 适 当 的 错 误 消 息, 或 使 用 缺 省 值 [b] 应 用 程 序 应 验 证 其 输 入 是 否 由 有 效 字 符 组 成 ( 解 码 后 ) 例 如, 应 拒 绝 包 含 空 字 节 ( 编 码 为 %00) 单 引 号 引 号 等 的 输 入 值 [c] 确 保 值 符 合 预 期 范 围 和 类 型 如 果 应 用 程 序 预 期 特 定 参 数 具 有 特 定 集 合 中 的 值, 那 么 该 应 用 程 序 应 确 保 其 接 收 的 值 确 实 属 于 该 集 合 例 如, 如 果 应 用 程 序 预 期 值 在 10..99 范 围 内, 那 么 就 该 确 保 该 值 确 实 是 数 字, 且 在 10..99 范 围 内 [d] 验 证 数 据 是 否 属 于 提 供 给 客 户 端 的 集 合 [e] 请 勿 在 生 产 环 境 中 输 出 调 试 错 误 消 息 和 异 常 2. 进 行 错 误 重 定 向 来 屏 蔽 网 站 可 能 出 现 的 错 误 信 息 ASP.NET 网 站 可 通 过 全 局 设 置 错 误 重 定 向 来 屏 蔽 错 误 信 息 / 漏 洞 名 称 ASP.NET 错 误 信 息 中 风 险 该 ASP.Net 网 站 可 能 存 在.Net 错 误 信 息 网 站 页 面 存 在 错 误 可 能 会 暴 露 网 站 平 台 的 敏 感 内 容, 包 括 网 站 完 整 的 堆 栈 追 踪 信 息.Net 框 架 版 本 等 在 web.config 配 置 文 件 中 开 启 自 定 义 的 错 误 页 面, 并 将 [customerrors] 修 改 为 Off 或 者 是 RemoteOnly Web Server 漏 洞 名 称 页 面 错 误 信 息 中 风 险 网 站 页 面 可 能 存 在 应 用 程 序 错 误 网 站 页 面 存 在 错 误 可 能 会 暴 露 网 站 敏 感 内 容, 包 括 网 站 物 理 目 录 链 接 数 据 库 等 审 核 网 站 程 序, 解 决 网 站 程 序 错 误 4
/searchall.aspx /ProductList.aspx 漏 洞 名 称 未 加 密 的 VIEWSTATE 参 数 中 风 险 ASP.NET 服 务 器 控 件 从 Control 继 承 名 称 为 ViewState 的 属 性, 可 让 它 轻 易 参 加 状 态 管 理 ViewState 的 类 型 是 System.Web.UI.StateBag, 这 是 一 个 存 储 名 称 / 值 对 的 字 典 ViewState 由 ASP.NET 页 面 框 架 持 久 在 字 符 串 变 量 中, 它 是 作 为 隐 藏 变 量 而 发 送 给 客 户 端, 以 及 从 客 户 端 返 回 回 传 时, 页 面 框 架 会 解 析 隐 藏 变 量 中 的 输 入 字 符 串, 填 充 每 个 控 件 的 ViewState 属 性 如 果 控 件 的 属 性 数 据 使 用 ViewState, 而 不 是 私 有 字 段, 就 会 在 与 客 户 端 的 来 回 发 送 之 中, 自 动 持 久 这 个 属 性 ( 如 果 属 性 未 持 久 在 ViewState 中, 最 好 是 在 回 传 时, 返 回 它 的 缺 省 值 )ViewState 隐 藏 参 数 经 过 base64 编 码, 以 确 保 在 来 回 发 送 期 间, 不 论 应 用 程 序 所 用 的 响 应 / 请 求 编 码 为 何, 都 不 会 更 改 其 值 ViewState 可 以 应 用 三 个 安 全 层 次 : 1. 防 止 窜 改 : 您 可 以 设 置 EnableViewStateMAC 属 性 来 指 示 ASP.NET 将 散 列 码 附 加 到 ViewState 字 段 :<%@Page EnableViewStateMAC=true%> EnableViewStateMAC 可 以 在 页 面 或 应 用 层 次 安 装 回 传 时,ASP.NET 会 生 成 ViewState 数 据 的 散 列 码 来 与 记 入 的 值 所 存 储 的 散 列 码 相 比 较 如 果 两 者 不 符, 便 废 弃 ViewState 数 据, 控 件 会 还 原 为 原 始 安 装 在 缺 省 情 况 下,ASP.NET 会 利 用 SHA1 算 法 来 生 成 ViewState 散 列 码 另 外, 您 也 可 以 依 照 下 列 方 式, 在 machine.config 文 件 中 安 装 <machinekey> 来 选 择 MD5 算 法 :<machinekey validation="md5"/> 2. 加 密 : 您 可 以 利 用 加 密 来 保 护 ViewState 字 段 内 实 际 的 数 据 值 首 先, 您 必 须 如 上 所 述, 安 装 EnableViewStatMAC="true" 然 后 将 machinekey 验 证 类 型 设 为 3DES 这 会 指 示 ASP.NET 利 用 三 重 DES 对 称 加 密 算 法 来 加 密 ViewState 值 <machinekey validation="3des"/> 3.Web 服 务 器 数 组 ViewState 安 全 : 在 缺 省 情 况 下,ASP.NET 会 创 建 一 个 随 机 验 证 密 钥, 将 它 存 储 在 每 台 服 务 器 的 本 端 安 全 管 理 中 心 (LSA) 如 果 要 验 证 在 另 一 台 服 务 器 创 建 的 ViewState 字 段, 两 台 服 务 器 的 validationkey 必 须 设 成 相 同 的 值 如 果 您 利 用 上 述 任 何 方 法 来 维 护 运 行 Web 服 务 器 数 组 配 置 之 应 用 程 序 的 ViewState 安 全, 您 必 须 提 供 单 一 共 享 验 证 密 钥 给 所 有 服 务 器 在 Web.Config 文 件 的 <system.web> 元 素 之 下, 添 加 下 面 这 一 行 : <machinekey validation="3des" /> 5
/yaoju/search.aspx /yaoju/news_info.aspx /yaoju/news.aspx /yaoju/lookforpassword.aspx /yaoju/indexarticle_info.aspx /yaoju/drugcontraceptives_info.aspx /yaoju/drugcontraceptives.aspx /yaoju/contraceptiveknowledge_info.aspx /yaoju/contraceptiveknowledge.aspx /yaoju/aboutus.aspx /yaoju /searchall.aspx /ProductList.aspx /ProductedDetaile.aspx /onnetresult.aspx /contect.aspx /Action.aspx 漏 洞 名 称 用 户 认 证 信 息 使 用 明 文 传 送 中 风 险 网 站 页 面 的 用 户 认 证 信 息 使 用 明 文 传 送 可 能 被 攻 击 者 利 用 网 络 抓 包 工 具, 侦 听 到 用 户 的 账 户 和 密 码 使 用 加 密 方 式 传 送 用 户 的 认 证 信 息 /yaoju/reg.aspx 2.4 低 风 险 漏 洞 名 称 ASP.NET 调 试 功 能 开 启 低 风 险 ASP.NET 调 试 功 能 是 网 站 在 进 行 调 试 时 使 用 的 功 能 该 功 能 可 能 会 被 攻 击 者 利 用 造 成 敏 感 信 息 泄 漏 修 改 网 站 配 置 文 件 Web.config 中 相 关 选 项 为 <compilation debug="false"/> /yaoju 漏 洞 名 称 按 键 劫 持 : 缺 少 跨 框 架 头 部 Options 方 法 定 义 低 风 险 按 键 劫 持 : 缺 少 跨 框 架 头 部 Options 方 法 定 义, 导 致 无 法 完 成 页 面 点 击 动 作 检 测 源 代 码, 补 全 头 部 信 息 ( 该 漏 洞 可 能 是 传 输 过 程 中 的 加 载 丢 失 导 致 的 误 报 ) 6
Web Server 漏 洞 名 称 OPTIONS 方 法 开 启 低 风 险 攻 击 者 可 能 利 用 此 功 能 获 取 网 站 敏 感 信 息, 导 致 重 要 内 容 泄 露 禁 用 或 删 除 WebDAV, 如 果 你 不 需 要 在 此 服 务 器 上 Web Server 漏 洞 名 称 可 能 存 在 敏 感 目 录 低 风 险 网 站 系 统 可 能 存 在 敏 感 目 录, 攻 击 者 可 以 通 过 此 目 录 获 得 信 息 请 网 站 开 发 人 员 该 目 录 是 否 为 敏 感 目 录, 如 果 是 则 进 行 权 限 设 置, 禁 止 非 法 修 改 目 录 名, 尽 量 不 要 采 用 敏 感 名 字, 如 :data config conn 等 /uploads /log /FCKeditor /config /bin 3. 网 站 总 体 情 况 评 价 通 过 本 次 安 全 检 测 在 被 扫 描 的 网 站 中 发 现 严 重 的 安 全 漏 洞 安 全 情 况 较 差 网 站 的 安 全 漏 洞 能 够 直 接 被 攻 击 者 利 用 基 于 测 试 的 结 果, 我 们 建 议 立 即 对 网 站 的 安 全 漏 洞 进 行 修 补, 同 时 对 网 站 服 务 器 进 行 WEBSHELL 检 测 及 系 统 后 门 排 查, 避 免 入 侵 者 对 服 务 器 的 权 限 获 取 后 造 成 网 站 篡 改 服 务 器 宕 机 等 情 况 发 生 4. 网 站 总 体 安 全 建 议 4.1 对 已 有 的 安 全 措 施 加 固 4.1.1 安 全 产 品 从 对 服 务 器 系 统 的 探 测 得 出 只 开 放 了 特 定 应 用 的 端 口, 这 可 能 是 因 为 利 用 防 火 墙 等 防 护 设 备 做 了 一 定 程 度 的 安 全 策 略, 很 大 程 度 上 提 高 了 安 全 性 4.1.2 安 全 补 丁 通 过 安 全 漏 洞 扫 描, 没 有 发 现 任 何 应 用 层 和 系 统 层 的 安 全 漏 洞, 管 理 人 员 应 该 为 系 统 更 新 了 关 键 补 丁, 避 免 了 系 统 存 在 大 量 补 丁 级 漏 洞 的 风 险 从 这 一 点 上 来 看 补 丁 及 时 更 新 的 工 作 是 非 常 有 意 义 的, 能 够 一 定 程 度 的 降 低 风 险 7
通 过 安 全 漏 洞 扫 描, 没 有 发 现 任 何 应 用 层 和 系 统 层 的 安 全 漏 洞, 管 理 人 员 应 该 为 系 统 更 新 了 关 键 补 丁, 避 免 了 系 统 存 在 大 量 补 丁 级 漏 洞 的 风 险 从 这 一 点 上 来 看 补 丁 及 时 更 新 的 工 作 是 非 常 有 意 义 的, 能 够 一 定 程 度 的 降 低 风 险 4.2 安 全 意 见 经 过 本 次 远 程 安 全 测 试, 发 现 被 检 测 系 统 中 存 在 一 些 安 全 问 题 或 者 隐 患, 因 此 在 本 节 中, 建 议 采 用 如 下 方 式 修 补 这 些 问 题 对 于 无 法 马 上 得 到 解 决 的 问 题, 也 将 提 出 相 应 的 解 决 建 议 供 您 参 考 4.2.1 及 时 安 装 最 新 的 安 全 补 丁 及 时 安 装 最 新 的 安 全 补 丁 这 有 助 于 解 决 已 知 的 一 些 安 全 漏 洞, 提 高 系 统 的 安 全 性 使 得 攻 击 者 即 使 绕 过 防 火 墙 进 入 了 系 统 也 无 法 轻 易 入 侵 内 部 主 机 4.2.2 进 行 系 统 级 的 安 全 加 固 配 置 对 操 作 系 统 和 应 用 系 统 本 身 进 行 安 全 加 固 可 以 大 大 提 高 系 统 的 抗 攻 击 的 能 力 例 如, 设 置 合 理 的 口 令 策 略 进 行 文 件 系 统 的 访 问 控 制 以 及 网 络 访 问 控 制 等 等 4.2.3 Web 安 全 编 程 即 使 有 客 户 端 验 证, 也 不 要 相 信 客 户 端 的 输 入! 请 求 URL 的 参 数 部 分 ; HTML 表 单 通 过 POST 或 GET 请 求 提 交 的 数 据 ; 在 客 户 端 临 时 保 存 的 数 据 ( 也 就 是 Cookie); 数 据 库 查 询 4.2.4 SQL 注 入 防 范 SQL 注 入 可 能 会 查 看 修 改 或 删 除 数 据 库 条 目 和 表, 是 WEB 应 用 中 最 直 接 的 攻 击 方 式, 因 此 SQL 注 入 防 范 至 关 重 要 解 决 办 法 是 建 议 对 需 要 交 互 需 要 提 交 用 户 名 或 密 码 的 页 面, 对 用 户 的 输 入 过 滤 所 有 以 下 字 符 : [1] ( 竖 线 符 号 ) [2] & (& 符 号 ) [3] ;( 分 号 ) [4] $( 美 元 符 号 ) [5] %( 百 分 比 符 号 ) [6] @(at 符 号 ) [7] '( 单 引 号 ) [8] "( 引 号 ) [9] \'( 反 斜 杠 转 义 单 引 号 ) [10] \"( 反 斜 杠 转 义 引 号 ) [11] <>( 尖 括 号 ) [12] ()( 括 号 ) [13] +( 加 号 ) [14],( 逗 号 ) [15] \( 反 斜 杠 ) [16]update [17]delete [18]insert [19]drop [20]truncate [21]create [22]count 8 [23]char [24]mid
[17]delete [18]insert [19]drop [20]truncate [21]create [22]count [23]char [24]mid [25]group [26]union [27]into [28]from [29]select 或 者 使 用 asp.net 的 validaterequest 属 性 进 行 过 滤 4.2.5 跨 站 脚 本 攻 击 防 范 跨 站 脚 本 攻 击 可 能 会 窃 取 或 操 纵 客 户 会 话 和 cookie, 它 们 可 能 用 于 模 仿 合 法 用 户, 从 而 使 黑 客 能 够 以 该 用 户 身 份 查 看 或 变 更 用 户 记 录 以 及 执 行 事 务 解 决 办 法 是 建 议 对 提 交 的 URL 过 滤 所 有 以 下 字 符 : [1] ( 竖 线 符 号 ) [2] & (& 符 号 ) [3];( 分 号 ) [4] $( 美 元 符 号 ) [5] %( 百 分 比 符 号 ) [6] @(at 符 号 ) [7] '( 单 引 号 ) [8] "( 引 号 ) [9] \'( 反 斜 杠 转 义 单 引 号 ) [10] \"( 反 斜 杠 转 义 引 号 ) [11] <>( 尖 括 号 ) [12] ()( 括 号 ) [13] +( 加 号 ) [14] CR( 回 车 符,ASCII 0x0d) [15] LF( 换 行,ASCII 0x0a) [16],( 逗 号 ) [17] \( 反 斜 杠 ) [18] script [19] onload [20] onmouseover 或 使 用 asp.net 的 validaterequest 属 性 进 行 过 滤 4.2.6 定 期 进 行 安 全 审 计 虽 然 在 本 次 检 测 中 发 现 了 这 些 问 题, 并 且 相 信 这 些 安 全 隐 患 能 够 在 短 时 间 内 解 决 但 仍 然 建 议 定 期 进 行 类 似 的 安 全 审 计, 保 障 不 断 发 展 的 动 态 网 络 的 持 续 安 全 4.2.7 安 全 复 检 在 修 复 此 次 发 现 的 安 全 漏 洞 并 完 成 系 统 及 应 用 的 安 全 加 固 后, 建 议 再 次 进 行 安 全 检 测, 以 校 验 评 估 安 全 状 态, 并 确 保 无 其 他 安 全 问 题 存 在 4.2.8 购 买 安 全 产 品 9
由 于 技 术 的 发 展, 不 断 有 新 的 攻 击 方 法 出 现, 仅 仅 有 防 火 墙 是 不 够 的 很 多 攻 击 是 管 理 员 无 法 防 范 到 的, 建 议 购 进 第 三 方 的 入 侵 保 护 系 统 和 WAF 防 火 墙 等 安 全 设 备 来 保 护 您 的 网 络 10