今天看啥  ›  专栏  ›  珂技知识分享

web选手入门pwn(22) ——网鼎杯PWN02(vfork)

珂技知识分享  · 公众号  ·  · 2024-11-07 09:00
    

文章预览

静态链接,没main,有start。 401845重命名main 4017B4点进去报红,明显应该是4017B5,U+C+P三连修复。 修复后发现是pwn题特有设置缓冲区方便做题的,不用管。 先看401931 因为静态链接的原因,这些函数点进去发现都是系统调用那些我们熟悉的函数,因此改个名方便阅读。 vfork另起一个线程去执行puts+read,read只有一个字节,看起来无论如何没有溢出。 再看4019E9 同样是简单puts/read,没有溢出。但给了个gift,执行一下程序看看情况。 很明显是canary。此外,程序看起来是先执行4019E9再执行401931,跟代码顺序相反,这是什么原因呢?是因为主进程用vfork创建子线程,执行了wait,因此要等主线程exit,子线程才继续向下执行。因此401931的puts/read,比4019E9的puts/read要晚。 涉及子线程的gdb调试,需要用到 set follow-fork- mode child set detach- on -fork off PIE保护关闭了,我 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览