BUUCTF PWN WRITEUP Part7

护网杯_2018_gettingstart

也算是比较经典的一个pwn了,考察了浮点数在内存中的存储方式:

不难猜出是栈上的变量覆盖,难点在于浮点数转换,这里不赘述,有兴趣可以自己上网查查资料。

Continue reading BUUCTF PWN WRITEUP Part7

Sigreturn Oriented Programming

最近看BUUOJ上面的Challenge的时候,看到CISCN的一个问题,涉及到SROP的利用,就来学习一下:本文是基于CTF-WIKI的讲解加部分自己的理解形成。

Overview

SROP(Sigreturn Oriented Programming) 于 2014 年被 Vrije Universiteit Amsterdam 的 Erik Bosman 提出,其相关研究Framing Signals — A Return to Portable Shellcode发表在安全顶级会议 Oakland 2014 上,被评选为当年的 Best Student Papers。其中相关的 paper 以及 slides

其中,sigreturn是一个系统调用,在类 unix 系统发生 signal 的时候会被间接地调用。


Signal 机制

signal 机制是类 unix 系统中进程之间相互传递信息的一种方法。一般,我们也称其为软中断信号,或者软中断。比如说,进程之间可以通过系统调用 kill 来发送软中断信号。一般来说,信号机制常见的步骤如下图所示:

Continue reading Sigreturn Oriented Programming