zoukankan      html  css  js  c++  java
  • 黑客攻防技术宝典web实战篇:测试后端组件习题答案

    随书答案。

    1. 某网络设备提供用于执行设备配置的 Web 界面。为什么这种功能通常易于受
      到操作系统命令注入攻击?

    用于配置网络设备的应用程序通常包含使用正常的 Web 脚本 API 无法轻松实
    现的功能,如用于重新启动设备、循环访问日志文件或重新配置 SNMP 的功能。
    通常,使用一行操作系统命令可以轻松执行这些任务。因此,许多时候,应用程
    序开发者通过将相关用户输入直接合并到 shell 命令字符串中来实现这些功能。

    1. 在测试以下 URL 时:
      http://wahh-app.com/home/statsmgr.aspx?country=US
      将 country 参数的值更改为 foo 导致了以下错误消息:
      Could not open file: D:appdefaulthomelogsfoo.log (invalid file).
      可以采取哪些步骤对应用程序实施攻击?

    应用程序似乎将用户提交的输入合并到用于文件系统操作的文件路径中,并
    且可以通过提交专门设计的输入来访问服务器上的任意文件。因此,应尝试使
    用../遍历序列访问不同的目录。由于.log 将被附加到输入之后,因此应尝试使
    用 NULL 字节终止文件名。请注意,出现在错误消息中的 home 目录可能与出现在
    URL 中的 home 目录为同一目录,这为 Web 根目录中的项目的位置提供了线索。

    1. 在对一个在 POST 请求中以 XML 格式传送数据的应用程序进行测试时,可以利
      用哪种漏洞从服务器的文件系统中读取任意文件?要成功实施攻击,必须满足哪
      些先决条件?

    应用程序可能易于受到 XML 外部实体(XXE)注入。检索任意文件的内容的
    先决条件如下:
    (a) 应用程序使用的 XML 解释器必须支持外部实体;
    (b) 应用程序必须在其响应中回显请求中的 XML 元素的内容。

    1. 向 ASP.NET 平台上运行的应用程序提出以下请求:
      POST /home.aspx?p=urlparam1&p=urlparam2 HTTP/1.1
      Host: wahh-app.com
      Cookie: p=cookieparam
      Content-Type: application/x-www-form-urlencoded
      Content-Length: 15
      p=bodyparam
      应用程序执行以下代码:
      String param = Request.Params[“p”];
      请问 param 变量的值是什么?

    param 变量的值为 urlparam1,urlparam2,bodyparam,cookieparam。

    1. HPP 是 HPI 的前提,还是 HPI 是 HPP 的前提?

    严格来说,这两种攻击都不是对方的前提。
    虽然 HPI 攻击通常包含 HPP,但这不是必须的。例如,HPI 攻击可能会将某个全
    新的参数注入到后端请求中,以干扰应用程序的处理过程。但这种类型的攻击并
    不依赖于应用程序在处理多个同名参数时表现的任何特殊行为。
    通常,HPP 攻击可以不包括 HPI,特别是在对用户输入执行多层处理的情况下。
    例如,一些针对 Internet Explorer XSS 过滤器的攻击使用 HPP 技巧,但并不在
    后端请求中注入任何参数。

    1. 某应用程序包含一项功能,该功能向外部域提出请求,并返回这些请求的响
      应。为防止服务器端重定向攻击检索应用程序自己的 Web 服务器上的受保护资
      源,应用程序阻止了以 localhost 或 127.0.0.1 为目标的请求。如何突破这种防
      御,以访问服务器上的资源?

    服务器的回环 IP 地址有许多备选表示形式,可将其用于避开应用程序的过
    滤。例如:
    (a) 127.1
    (b) 127.000.0.1
    (c) 127.0.0.0 A 类子网中的任何其他地址
    (d) 这些表示形式的二进制或八进制变体,如 017700000001

    1. 某应用程序使用一项用于用户提交反馈的功能。该功能允许用户提交他们的
      电子邮件地址、邮件主题及详细的反馈。然后,应用程序以用户提交的主题和反
      馈为邮件正文,从用户的电子邮件地址向 feedback@wahh-app.com 发送一封电子
      邮件。以下哪一种方法能够有效防御邮件注入攻击?
      (a) 在邮件服务器上禁用邮件中继。
      (b) 使用 feedback@wahh-app.com 硬编码 RCPT TO 字段。
      (c) 确保用户提交的输入不包含任何换行符或其他 SMTP 元字符。

    针对此应用程序功能的邮件注入攻击不需要邮件服务器支持邮件中继。如果其他
    邮件标头包含用户可控制的输入,硬编码 RCPT TO 字段也无法防范邮件注入,因
    为攻击者可以使用另一个 RCPT TO 行注入另一个收件人。在这种情况下,最有效
    的防御是严格确认所有用户提交的输入,以确保其中不包含任何转行符或其他
    SMTP 元字符。
    参考链接
    http://www.ituring.com.cn/book/885

  • 相关阅读:
    Oracle 数据库基础学习 (五) 多表查询
    Oracle 数据库基础学习 (四) group by的使用
    Oracle 数据库基础学习 (三) Oracle 四个表结构
    SQL简单语句总结习题
    Oracle 数据库基础学习 (二) 学习小例子:创建一个表,记录商品买卖的情况
    Oracle Database 11g For Windows7 旗舰版的安装
    Oracle to_char()函数的使用细则
    Hadoop集群常用的shell命令
    centos常用命令
    ssh免密码登陆(集群多台机器之间免密码登陆)
  • 原文地址:https://www.cnblogs.com/wangtanzhi/p/11896915.html
Copyright © 2011-2022 走看看