正在执行的程序为执行该程序的初始(或主)线程维护一个主堆栈,并为每个从属线程维护不同的堆栈。堆栈是临时内存地址空间,用于保留子程序或函数引用调用期间的参数和自动变量。如果线程堆栈的大小太小,则可能会出现堆栈溢出,从而导致无提示数据损坏或段故障。 使用 f95 -stackvar 选项编译 Fortr
分类:
其他好文 时间:
2016-03-17 21:21:50
阅读次数:
233
Warmup(2) 程序很小,读写操作直接通过int 80h系统调用完成。栈溢出漏洞很明显,能溢出20字节。提示由于沙盒的保护只能来读取/home/warmup/flag文件。那么思路就很清楚了,打开flag文件,读取flag文件到内存,写内存到标准输出。现在遇到了第一个问题,打开文件的系统调用是5...
分类:
其他好文 时间:
2016-03-14 15:16:48
阅读次数:
490
function prompt() { var answer = prompt("What is your name","") if (answer) { alert("Hello, " + answer + "!"); } } 提示堆栈溢出。我就纳闷了。 重复測试之后,发现原来函数名不能命名为pr
分类:
Web程序 时间:
2016-02-24 12:40:47
阅读次数:
133
使用RTOS编程,为每个任务分配多大的堆栈空间就成了一项技术活:分配多了浪费系统资源,分配少了又恐怕会发生堆栈溢出。由于中断和抢占式调度器的存在,我们要估算出一个任务需要多少堆栈是非常困难的,今天我们就介绍一种方法,来获取每个任务的剩余堆栈空间。本文以NXP LPC177x_8x系列微控制器为例。 我们将这个功能做成一个命令,添加到《FreeRTOS系列第15篇---使用任务通知实现命令...
分类:
其他好文 时间:
2016-02-24 09:47:35
阅读次数:
234
最近有了点时间,把ZCTF的pwn总结了下,就差最后一个pwn500,另找时间总结。 文件打包:http://files.cnblogs.com/files/wangaohui/attach.zip Pwn100 很明显栈溢出,但是有canary保护。但是明显的是flag已经被读入了内存。在网上找到
分类:
其他好文 时间:
2016-02-17 23:57:49
阅读次数:
762
递归&算法基础一、递归递归函数的优点是定义简单,逻辑清晰。理论上,所有的递归函数都可以写成循环的方式,但循环的逻辑不如递归清晰。使用递归函数需要注意防止栈溢出。在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈...
分类:
编程语言 时间:
2016-02-02 21:38:22
阅读次数:
449
函数返回地址掌握技巧后挺好找的,我们从书上的内存剖析图知道,返回地址就在EBP的内存块。于是,在ollydbg上,我们根据寄存器窗口直接找EBP,在EBP的下面一个就是函数的返回地址。直接淹没地址的话,函数运行出错。溢出返回无效地址。现在的话正式做触发栈溢出的输入文件。将..
分类:
其他好文 时间:
2015-12-01 12:59:56
阅读次数:
157
这两三天我们开始对填空题这部分功能的内容写代码,我们写好了UI,还有填空题的计算,获取用户答案,判断,当我们测试的时候发现了一个很大的问题,当计算填空题内容的时候,会出现无限递归,然后堆栈溢出的问题,然后我们小组紧急开了一个会,我们在网上查了资料,也觉得无法解决这部分的问题,而且我们发现如果这...
分类:
其他好文 时间:
2015-11-29 00:34:56
阅读次数:
196
【缓冲区溢出攻击】的艺术就在于“把不可预料的后果,变成我们想要的结果!”
0x1 基础知识CPU:寄存器内存:物理内存地址、虚拟内存地址栈:可以看做一种数据结构,先进后出的数据表。有压栈(PUSH)、有弹栈(POP)、标识栈的属性有两个:栈顶(TOP)、栈底(BASE)可以把栈看做一副扑克,PUSH,往上放一张牌(压入数据),POP,拿走一张牌(弹出数据)。0x2 函数调...
分类:
其他好文 时间:
2015-11-05 18:40:03
阅读次数:
366