猫宁!!!

参考链接: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 应用程序中探查缓冲区溢出漏洞,
发现了某个请求的一个参数可能存在漏洞,然而无法让监控到的反常行为再次发
生。有时,提交一个长度较长的值会立即造成系统崩溃,有时则需要重复提交几
次才能导致崩溃。另外,如果提交大量“良性”请求也会引起系统崩溃。
什么原因最有可能导致应用程序出现这种行为?

这可能说明应用程序中存在堆溢出漏洞。提交的每一个超长请求都可能破坏堆控
制结构。但是,通常情况下,只有在执行相关堆操作时,堆受到的破坏才会引发
异常,而堆操作的时间可能取决于与所提交的请求无关的其他事件。
请注意,在极少数情况下,其他操作也会导致上述行为——例如,由于负载平衡
或对输入的延期处理。

最新文章

  1. hibernate框架之-查询结果集返回类型
  2. 内存角度探寻C++面向对象 之 继承、多态
  3. 遍历map集合
  4. angularJs中将字符串转换为HTML格式
  5. ActionScript 3.0日期与时间管理(Date类)
  6. Eclipse快捷键 10个最有用的快捷键(转)
  7. sh_脚本语法
  8. Windows Azure功能更新:弹性伸缩(autoscale)、监控报警、移动服务及网站服务商用、新的虚拟机镜像
  9. [读书系列] 深度探索C++对象模型 初读
  10. java IO之 编码 (码表 编码 解码 转换流)
  11. 《MATLAB从入门到放弃》二维曲线和图形绘制基础(二):使用Help文档学习line、plot、plotyy、subplot、hold绘图函数
  12. 回溯法之求n个集合的幂集
  13. PXE+Kickstart 全自动安装部署CentOS7.4
  14. SpringBoot+Angular2 开发环境搭建
  15. SpringMVC 自定义类型转换器
  16. Nginx动态路由的新姿势:使用Go取代lua
  17. 并发编程(十一)—— Java 线程池 实现原理与源码深度解析(一)
  18. 关于用户输入恶意js
  19. AIX装机问题123
  20. qt之qmake

热门文章

  1. java开始到熟悉62
  2. bzoj 1088 简单dfs
  3. Android经常使用的工具类
  4. LeetCode(27)题解:Remove Element
  5. HDU 6155 Subsequence Count 线段树维护矩阵
  6. lonlifeOJ1152 “玲珑杯”ACM比赛 Round #19 概率DP
  7. nginx搭建支持http和rtmp协议的流媒体server之中的一个
  8. 常用bluetooth协议
  9. SDIO卡 了解
  10. import data from excel to sql server