Loading...
srop技术,是一种利用sigreturn系统调用(主要是Linux在信号处理时为了保存进程上下文而使用的)来修改寄存器的技术。ctfwiki上写得很好,但是有几点应该强调一下,可以更好得理解。最先要说的是,srop和信号没有什么紧密的关系Linux信号机制不是重点总体来讲就是如上图一样,当系统向进程发出(软中断)信号时,将进程挂起的一种机制sigreturn这是我们主要利用的东西,信号处理...
这是一道国赛题,当然做之前我还不知道,到了我发现我不会做的时候才知道..这也是我做的第一道srop,虽然wp发的是三道里面最晚的,做完rootersctf_2019_srop这题我才能说我真正理解了。本题知识点——SROP——被ctfwiki归类为高级rop,这道算是相对简单的srop。关闭了canary和pie。和一般的程序不同,此题的read和write是通过syscall(系统调用)来...
只开了NX,只存在syscall的gadgets,基本上就是srop了。无非就是做两件事,注入"/bin/sh\x00"和执行execve的系统调用,我们发现在syscall前面存在pop rax所以execve是容易实现的,然后就是注入"/bin/sh\x00"程序有一段大小足够的data段,所有我们可以考虑通过设置rsi至此来输入"/bin/sh"然后执行execve系统调用。第一步先布...
这篇博客写了两天,我也花了很久来理解srop,现在我可以说我会srop了。这道题的代码非常短xor rax, rax mov edx, 400h ; count mov rsi, rsp ; buf mov rdi, rax ; fd syscall ; LINUX - sys_r...