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

猫宁!!!

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

随书答案。

1. 何为强制浏览?可以通过它确定哪些漏洞?

强制浏览包括避开浏览器导航对应用程序功能访问顺序实施的任何限制。应
使用强制浏览测试多阶段过程或其他区域中的错误假设。通常,这些假设会导致
可以通过使用强制浏览加以利用的访问控制漏洞。

2. 为防止不同类型的攻击,应用程序对用户输入实施各种全局过滤。为防止 SQL
注入,它将出现在用户输入中的单引号配对。为防止针对一些本地代码组件的缓
冲区溢出攻击,它将超长的数据截短到适当的长度。这些过滤有什么问题?

如果在实施长度限制之前将引号配对,则通过在配对的两个引号之间截短输
入,就可以在输入中引入奇数单引号(请参阅第 9 章了解详情)。
如果在配对之前应用长度限制,仍然可以通过在有效载荷的开头插入大量单引
号,使该有效载荷充分放大,并使用位于有效载荷末尾的专门设计的数据来溢出
缓冲区,从而达到利用任何缓冲区溢出条件的目的。

3. 可以采取哪些步骤来探查某登录功能中是否存在故障开放条件?(列出想到
的各种不同测试。)

应使用所控制帐户的证书,多次重复登录过程,并以特定方式修改请求:
(a) 对于提交的每个参数,尝试提交一个空值,完全省略名称/值对,并使用不
同的值多次提交同一数据项。
(b) 如果登录过程包括多个阶段,应尝试以不同的顺序执行这些阶段、完全跳过
单个阶段、直接进入任意阶段,以及在不需要参数的阶段提交参数。
(c) 如果多次提交了同一数据项,应进行探查,以确定如何处理每个值,以及在
一个阶段确认的数据在后续阶段是否仍为可信数据。

4. 某银行应用程序采用一种非常安全可靠的多阶段登录机制。在第一个阶段,
用户输入用户名和密码。在第二个阶段,用户输入在物理令牌上显示的一个不断
变化的值,并通过隐藏表单字段重新提交前面输入的用户名。
可以立即发现的逻辑缺陷有哪些?

应用程序很可能单独执行这两个检查,根据一个用户名确认密码,根据另一个用
户名确认令牌值,然后为其中一个已确认的用户名创建通过验证的会话。
如果拥有自己的物理令牌的应用程序用户没法获得了其他用户的密码,他们就可
以作为该用户登录。相反,取决于该机制的运行方式,能够读取其他用户的令牌
值的用户或许可以作为该用户登录,而无需了解后者的密码。该解决方案的总体
安全状态将因此被明显削弱。

5. 在通过提交专门设计的输入探查一个应用程序中是否存在常见的漏洞时,应
用程序频繁返回包含调试信息的详细错误消息。有时,这些消息与其他用户造成
的错误有关。发生这种情况后,就无法令其再次发生。这表示应用程序存在什么
逻辑缺陷,接下来该如何处理?

这种行为表示错误消息功能不是线程安全的,将返回由任何用户生成的上一个错
误的详细信息。应同时使用两个不同的会话进行深入探查,以确认是否确实出现
了这种情况。如果确实如此,应使用一段脚本不断触发一条详细的错误消息,并
记录其内容中的任何差异,以获取与其他应用程序用户有关的有用信息。

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

时间: 2024-10-28 22:37:21

黑客攻防技术宝典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. 假设受攻击的应用程序使用两台不同的服务器:一台应用程序服务器和一台数据库服务器.已经发现一个漏洞,可以在应用程序服务器上执行任意操作系统命令.是否可以利用这个漏洞获取保存在数据库中的敏感应用程序数据? 几乎可以肯定能够利用该漏洞获取保存在数据库中的应用程序数据.应用程序本身必须拥有访问自己的数据所需的证书和权限.可以检查服务器端应用程序的脚本和配置文件,以了解它如何访问应用程序.要对所发

黑客攻防技术宝典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 的任意地址(通常位于触发溢出的同一缓冲区内).利用基于堆的溢出,通常可以将内存中的任意指针设置为任意值.正常情况下,利用这种修改来控制执行流还需要采取其他步骤.此外,使堆缓冲区溢出后