黑客攻防技术宝典web实战篇:攻击本地编译型应用程序习题
猫宁!!!
参考链接:http://www.ituring.com.cn/book/885
随书答案。
1. 如果不采用特殊的防御措施,为什么栈缓冲区溢出比堆溢出更容易被攻击者
利用?
利用基于栈的溢出,通常可以立即控制栈上的已保存返回地址,并因此控制当前
功能返回的指令指针。可以将指令指针指向包含 shellcode 的任意地址(通常位
于触发溢出的同一缓冲区内)。
利用基于堆的溢出,通常可以将内存中的任意指针设置为任意值。正常情况下,
利用这种修改来控制执行流还需要采取其他步骤。此外,使堆缓冲区溢出后,渗
透测试员可能无法立即实施攻击,而要依赖于影响堆内存分配的意外事件。
2. 在 C 与 C++语言中,字符串的长度如何决定?
标准 C/C++字符串的长度并没有具体的限制。这类字符串在遇到第一个空字节时
结束。
3. 与在因特网上运行的所有权 Web 应用程序中存在的溢出漏洞相比,非定制网
络设备中存在的缓冲区溢出漏洞为什么更可能被攻击者所利用?
虽然探查和检测远程 Web 应用程序中存在的缓冲区溢出漏洞相对较为容易,但要
设计出针对这类漏洞的有效攻击往往极为困难(尽管并非完全不可能)。
另一方面,通过在本地访问易受攻击的网络设备,就可以附加调试设备并全面调
查漏洞的本质,从而设计出经过优化的攻击,对漏洞加以有效利用。
4. 下面的模糊漏洞字符串为什么无法确定许多格式化字符串漏洞?
%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n...
默认情况下,最新的 printf 系列函数禁用了格式说明符%n。因此,应始终提交
大量%n 说明符,如果应用程序以危险的方式处理输入,这些说明符将受到支持,
并很可能会触发异常。
此外,仅仅使用 printf 系列说明符无法检测对其他格式化函数(如
FormatMessage)的危险调用。
5. 假设在一个大量使用本地代码组件的 Web 应用程序中探查缓冲区溢出漏洞,
发现了某个请求的一个参数可能存在漏洞,然而无法让监控到的反常行为再次发
生。有时,提交一个长度较长的值会立即造成系统崩溃,有时则需要重复提交几
次才能导致崩溃。另外,如果提交大量“良性”请求也会引起系统崩溃。
什么原因最有可能导致应用程序出现这种行为?
这可能说明应用程序中存在堆溢出漏洞。提交的每一个超长请求都可能破坏堆控
制结构。但是,通常情况下,只有在执行相关堆操作时,堆受到的破坏才会引发
异常,而堆操作的时间可能取决于与所提交的请求无关的其他事件。
请注意,在极少数情况下,其他操作也会导致上述行为——例如,由于负载平衡
或对输入的延期处理。
黑客攻防技术宝典web实战篇:攻击本地编译型应用程序习题的更多相关文章
- 黑客攻防技术宝典web实战篇:查找源代码中的漏洞习题
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 列出 3 种可在源代码中找到明确签名的常见漏洞. (a) 跨站点脚本(b) SQL 注入( ...
- 《黑客攻防技术宝典Web实战篇@第2版》读书笔记1:了解Web应用程序
读书笔记第一部分对应原书的第一章,主要介绍了Web应用程序的发展,功能,安全状况. Web应用程序的发展历程 早期的万维网仅由Web站点构成,只是包含静态文档的信息库,随后人们发明了Web浏览器用来检 ...
- 黑客攻防技术宝典web实战篇:核心防御机制习题
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 黑客攻防技术宝典web实战篇是一本非常不错的书,它的著作人之一是burpsuite的作者,课后的习题值得关注 ...
- 黑客攻防技术宝典web实战篇:攻击应用程序架构习题
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 假设受攻击的应用程序使用两台不同的服务器:一台应用程序服务器和一台数据库服务器.已经发现一 ...
- 黑客攻防技术宝典web实战篇:攻击其他用户习题
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 在应用程序的行为中,有什么“明显特征”可用于确定大多数 XSS 漏洞? 用户提交的输入在应 ...
- 黑客攻防技术宝典Web实战篇(三)web攻击方式总结
web攻击的手段无非就是使服务器资源耗尽,使服务器无法接收正常请求. 一.DDos攻击 二.DRDos攻击 三.慢攻击 与Ddos攻击相反,慢攻击并不是以多取胜,而是靠保持连接.
- 黑客攻防技术宝典web实战篇:攻击用户·其他技巧习题
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 已知一项应用程序功能将一个查询字符串参数的内容插入到某个 HTTP 重定向的 Locati ...
- 黑客攻防技术宝典web实战篇:攻击访问控制习题
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 一个应用程序可能通过使用 HTTP Referer 消息头实施访问控制,但它的正常行为并没 ...
- 黑客攻防技术宝典web实战篇:攻击验证机制习题
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 在测试一个使用joe和pass证书登录的Web应用程序的过程中,在登录阶段,在拦截代理服务 ...
随机推荐
- java开始到熟悉100-102
本次内容:arraylist() 1. package list; import java.util.ArrayList; import java.util.Date; import java.uti ...
- C# Backgroundworker(后台线程)的使用
namespace BackgroundWorkderPauseSample { public partial class MainForm : Form { BackgroundWorker wor ...
- C#连接数据库 增删改查
- HDU 3039 Go Home
今天本来解决的很好,本来可以不聊那么结束,但是我想更完美一点,多聊几句,谁知道就聊了很长时间,很傻逼.耽误了时间! /***************************************** ...
- erlang 中文编码显示乱码问题
许久没做erlang开发了,近期有网友问到erlang的问题.就抽时间看下.问题是这种.模块有中文.将中文直接打印出来.shell下显示会出现乱码.但假设先将中文转成binary.就行正常显示出来. ...
- Python开发【2.1 面向对象】
1.面向对象概述 类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 类变量:类变量在整个实例化的对象中是公用的.类变量定义在类 ...
- 回溯法——求解N皇后问题
问题描写叙述 八皇后问题是十九世纪著名数学家高斯于1850年提出的.问题是:在8*8的棋盘上摆放8个皇后.使其不能互相攻击,即随意的两个皇后不能处在允许行.同一列,或允许斜线上. 能够把八皇后问题拓展 ...
- yum 安装 mysql
安装 yum -y install mysql-server 开机自启动 chkconfig mysqld on 设置账户密码 启动 service mysqld start -- 进入mysql库 ...
- Java programming language compiler
https://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html\ javac - Java programming l ...
- VC FTP服务器程序分析(二)
上面讲到了CClientThread类,打开这个类的实现,这个类实现了4个函数.依次分析: 1.InitInstance 其说明如下:InitInstance必须被重载以初始化每个用户界面线程的新 ...