黑客攻防技术宝典web实战篇:攻击应用程序架构习题

猫宁!!!

参考链接:http://www.ituring.com.cn/book/885

随书答案。

1. 假设受攻击的应用程序使用两台不同的服务器:一台应用程序服务器和一台
数据库服务器。已经发现一个漏洞,可以在应用程序服务器上执行任意操作系统
命令。是否可以利用这个漏洞获取保存在数据库中的敏感应用程序数据?

几乎可以肯定能够利用该漏洞获取保存在数据库中的应用程序数据。应用程序本
身必须拥有访问自己的数据所需的证书和权限。可以检查服务器端应用程序的脚
本和配置文件,以了解它如何访问应用程序。要对所发现的漏洞加以利用,一个
明显的方法是在 Web 根目录中创建一些新脚本,以执行任意查询并使用浏览器检
索查询结果。

2. 在另外一种情形中发现了一个 SQL 注入漏洞,可以利用它在数据库服务器上
执行任意操作系统命令。是否可以利用这个漏洞攻破应用程序服务器?例如,是
否可以修改保存在应用程序服务器中的应用程序脚本以及向用户返回的内容?

即使完全攻破了整个数据库服务器,也不一定有办法攻破应用程序服务器。通常,
应用程序服务器将数据库服务器作为数据库客户端访问,应用程序服务器并不以
任何其他方式信任数据库服务器。
但是,渗透测试员或许可以修改向用户返回的内容,因为其中一些内容将使用数
据库中包含的数据生成。例如,即使应用程序中不包含可以在它自身中触发的保
存型 XSS 漏洞,仍然可以通过直接修改数据库中的数据,将任意脚本注入应用程
序的响应中。如果可以通过这种方法攻击管理用户,就可以迅速攻破整个应用程
序。

3. 在攻击共享环境中的一个 Web 应用程序时,与 ISP 签订合约后,在所针对的
同一台服务器上获得了一些 Web 空间,允许向其中上传 PHP 脚本。
是否可以利用这种情况攻破目标应用程序?

PHP 语言包含许多强大的函数,可用于执行操作系统命令和访问文件系统。如果
能够修改由其他应用程序使用的文件,就可能攻破该应用程序。但是,攻击成功
的几率在很大程度上取决于 PHP 环境的配置,以及应用程序是否对在技术堆栈以
下执行的操作实施了任何控制。

4. Linux、Apache、MySQL 与 PHP 等架构组件常安装在同一台物理服务器上。为
何这样做会削弱应用程序架构的安全状况?

通常,如果将所有应用程序组件安装在同一台服务器上,将无法对这些组件进行
有效隔离。也就是说,如果攻击者攻破应用程序架构的其中一个组件,就能够迅
速攻破其他组件。例如,可以利用 Web 应用程序中的文件泄露漏洞从数据库中检
索包含敏感数据的文件。同样,可以利用 SQL 注入漏洞、使用数据库函数在服务
器文件系统上写入任意文件,在 Web 根目录中创建可以从浏览器访问的脚本,并
因此直接攻破应用程序层。

5. 如何找到证据来证明所攻击的应用程序由某个应用程序服务提供商托管?

可以对关键 URL 和参数名执行因特网搜索,以确定采用同名数据项的其他应用程
序。如果这些应用程序似乎包含大量相互重叠的共享功能,就可以调查它们的托
管位置,以获取其他证据。

原文地址:https://www.cnblogs.com/landesk/p/10888585.html

时间: 2024-10-12 13:54:39

黑客攻防技术宝典web实战篇:攻击应用程序架构习题的相关文章

黑客攻防技术宝典web实战篇:测试后端组件习题

猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 某网络设备提供用于执行设备配置的 Web 界面.为什么这种功能通常易于受到操作系统命令注入攻击? 用于配置网络设备的应用程序通常包含使用正常的 Web 脚本 API 无法轻松实现的功能,如用于重新启动设备.循环访问日志文件或重新配置 SNMP 的功能.通常,使用一行操作系统命令可以轻松执行这些任务.因此,许多时候,应用程序开发者通过将相关用户输入直接合并到 shell 命令字符串中来实现

黑客攻防技术宝典web实战篇:利用信息泄露习题

猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 当探查 SQL 注入漏洞时,如果请求以下 URL:https://wahh-app.com/list.aspx?artist=foo’+having+1=1--将收到如下错误消息:Server: Msg 170, Level 15, State 1, Line 1Line 1: Incorrect syntax near ‘having1’.从中可以得出什么结论?应用程序中包含任何可被利

黑客攻防技术宝典web实战篇:核心防御机制习题

猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 黑客攻防技术宝典web实战篇是一本非常不错的书,它的著作人之一是burpsuite的作者,课后的习题值得关注,而随书附带有答案. 1. 为什么说应用程序处理用户访问的机制是所有机制中最薄弱的机制? 典型的应用程序使用三重机制(身份验证.会话管理和访问控制)来处理访问.这些组件之间高度相互依赖,其中任何一个组件存在缺陷都会降低整个访问控制并访问他机制的效率.例如,攻击者可以利用身份验证机制中的漏洞以任何用户

《黑客攻防技术宝典Web实战篇》.Dafydd.Stuttard.第2版中文高清版pdf

下载地址:网盘下载 内容简介 编辑 <黑客攻防技术宝典(Web实战篇第2版)>从介绍当前Web应用程序安全概况开始,重点讨论渗透测试时使用的详细步骤和技巧,最后总结书中涵盖的主题.每章后还附有习题,便于读者巩固所学内容. <黑客攻防技术宝典(Web实战篇第2版)>适合各层次计算机安全人士和Web开发与管理领域的技术人员阅读.本书由斯图塔德.平托著. 目录 编辑 第1章 Web应用程序安全与风险 1.1 Web应用程序的发展历程 [1] 1.1.1 Web应用程序的常见功能 1.1.

黑客攻防技术宝典web实战篇:Web 应用程序技术习题

猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. OPTIONS 方法有什么作用? OPTIONS 方法要求服务器报告可用于特定资源的 HTTP 方法. 2. If-Modified-Since 和 If-None-Match 消息头的作用是什么?它们为何引起攻击者的兴趣? If-Modified-Since 消息头用于指定浏览器最后一次收到被请求的资源的时间.If-None-Match 消息头用于指定实体标签,在最后一次收到被请求的资

黑客攻防技术宝典web实战篇:攻击其他用户习题

猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 在应用程序的行为中,有什么“明显特征”可用于确定大多数 XSS 漏洞? 用户提交的输入在应用程序对该输入的响应中原样返回. 2. 假设在应用程序未通过验证的功能区域发现了一个反射型 XSS 漏洞.如何利用这个漏洞攻破一个通过验证的应用程序会话?请想出两种不同的方法. 多数情况下,利用未通过验证的功能中的 XSS 漏洞一样可以针对已通过验证的用户实施有效攻击——这些功能与已通过验证的功能的

黑客攻防技术宝典web实战篇:攻击验证机制习题

猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 在测试一个使用joe和pass证书登录的Web应用程序的过程中,在登录阶段,在拦截代理服务器上看到一个要求访问以下 URL 的请求:http://www.wahh-app.com/app?action=login&uname=joe&password=pass如果不再进行其他探测,可以确定哪 3 种漏洞? (a) 由于证书在该 URL 的查询字符串中传送,因此,这些证书将面临通过浏

黑客攻防技术宝典web实战篇:攻击访问控制习题

猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 一个应用程序可能通过使用 HTTP Referer 消息头实施访问控制,但它的正常行为并没有公开表露这一点.如何检测出这种缺陷? 选择一系列你有权访问的重要应用程序功能.通过提交经过修改的 Referer消息头或不带该消息头的请求访问以上每一项功能.如果应用程序拒绝这些请求,则说明它很可能易于受到攻击.然后,尝试通过另一个不具有相关权限的用户提出相同的请求,但每次提交原始的 Refere

黑客攻防技术宝典web实战篇:攻击本地编译型应用程序习题

猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 如果不采用特殊的防御措施,为什么栈缓冲区溢出比堆溢出更容易被攻击者利用? 利用基于栈的溢出,通常可以立即控制栈上的已保存返回地址,并因此控制当前功能返回的指令指针.可以将指令指针指向包含 shellcode 的任意地址(通常位于触发溢出的同一缓冲区内).利用基于堆的溢出,通常可以将内存中的任意指针设置为任意值.正常情况下,利用这种修改来控制执行流还需要采取其他步骤.此外,使堆缓冲区溢出后