C 语言作为 Linux 系统上标准的编程语言给予了我们对动态内存分配很大的控制权。这种自由可能会导致严重的内存管理问题,可能导致程序崩溃或随时间的推移导致性能降级。内存泄漏(即malloc()内存在对应的free()调用执行后永不被释放)和缓冲区溢出(例如对以前分配到某数组的内存进行写操作)是一些...
分类:
系统相关 时间:
2015-12-03 00:47:25
阅读次数:
260
【缓冲区溢出攻击】的艺术就在于“把不可预料的后果,变成我们想要的结果!”
本实验是关于缓冲区溢出的原理以及如何利用缓冲区溢出漏洞进行攻击,分为以下十个练习: Part A:buffer overflow principalExercise1:output 3 addressesExercise2:use gdbExercise3:turn off ASLR and ...
分类:
其他好文 时间:
2015-10-26 15:23:27
阅读次数:
311
1. 空指针2. 野指针3. 数组越界4. 整数除以零5. 格式化输出参数错误6、缓冲区溢出7、主动抛出异常Android上的Crash可以分两种:1、Java Crash java代码导致jvm退出,弹出“程序已经崩溃”的对话框,最终用户点击关闭后进程退出。Logcat 会在“AndroidRun...
分类:
移动开发 时间:
2015-10-23 13:18:10
阅读次数:
466
大端序:数据的高位字节存放在地址的低端 低位字节存放在地址高端小端序:数据的高位字节存放在地址的高端 低位字节存放在地址低端(例如x86)栈增长方向:由高地址到低地址缓冲区溢出:当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量,使得溢出的数据覆盖在合法数据上,通过往程序的缓冲区写超出其长度的内...
分类:
其他好文 时间:
2015-10-21 15:47:43
阅读次数:
178
第二章 信息的表示和处理三种最重要的数字表示法无符号:基于传统的二进制表示法,大于等于0补码:有符号整数浮点数:实数的科学计数法的以二进制为基数的版本缓冲区溢出漏洞:计算机的表示法是用有限数量的位来对应一个数字编码,当结果太大不能表示时就会发生溢出。人为的溢出是有一定企图的,攻击者写一个超过缓冲区长...
分类:
其他好文 时间:
2015-10-03 21:57:31
阅读次数:
241
整型溢出有点老生常谈了,bla, bla, bla… 但似乎没有引起多少人的重视。整型溢出会有可能导致缓冲区溢出,缓冲区溢出会导致各种黑客攻击,比如最近OpenSSL的heartbleed事件,就是一个buffer overread的事件。在这里写下这篇文章,希望大家都了解一下整型溢出,编译器的行为...
分类:
编程语言 时间:
2015-08-31 21:33:23
阅读次数:
304
C 中大多数缓冲区溢出问题可以直接追溯到标准 C 库。最有害的罪魁祸首是不进行自变量检查的、有问题的字符串操作(strcpy、strcat、sprintf 和 gets)。一般来讲,象“避免使用 strcpy()”和“永远不使用 gets()”这样严格的规则接近于这个要求。 今天,编写的程序仍然利用...
分类:
其他好文 时间:
2015-08-14 18:57:59
阅读次数:
133
机器级代码计算机系统使用了多种不同形式的抽象,利用更简单的抽象模型来隐藏实现的细节。对于机器级编程来说,其中两种抽象尤为重要:1、指令集体系结构(Instruction set architecture ISA)它定义了处理器状态、指令的格式,以及每条指令对状态的影响。IA32将程序的行为描述成好像...
分类:
其他好文 时间:
2015-08-14 18:45:42
阅读次数:
155
原帖驱动开发中使用安全字符串函数一、前言大量的系统安全问题是由于薄弱的缓冲处理以及由此产生的缓冲区溢出造成的,而薄弱的缓冲区处理常常与字符串操作相关。c/c++语言运行库提供的标准字符串操作函数(strcpy, strcat, sprintf等)不能阻止在超出字符串尾端的写入。基于Windows X...
分类:
其他好文 时间:
2015-07-17 09:28:33
阅读次数:
85