两道pwn题的解法(ret2libc)

[if !supportLists]1. [endif]Lab0

   与之前相比,不知道后门函数的地址

第一次payload,利用puts函数泄露libc的地址(plt+main+got,offset可以通过自动化工具得出)

第二次发送payload是为了起shell

可以与之前的exp进行对比

Exp如下:


运行并成功拿到shell


















 2. pwnme

先上exp


因为在IDA中发现了这个


 read函数存在漏洞,构造payload,发送给write函数,泄漏出read函数的地址,在利用libc.symbols[‘read’]求出read的相对地址,故libc的地址=泄露的地址-相对地址

这是典型的ret2libc的例子。

第二次是发送payload的起shell。

攻击结果如下,成功拿到shell:


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 0x01 Start checksec 的时候可以看到程序没有打开任何的安全保护措施,然后查看IDA下的汇编代码,...
    Nevv阅读 1,711评论 0 2
  • GOT表和PLT表: GOT(Global Offset Table,全局偏移表)是Linux ELF文件中用于定...
    xiaobaozi阅读 9,333评论 0 13
  • BROP对存在栈溢出的ELF进行指令盲注,Papper描述攻击可谓充满了艺术。要满足BROP,需要几个条件:1.进...
    clive0x阅读 979评论 0 1
  • 一、温故而知新 1. 内存不够怎么办 内存简单分配策略的问题地址空间不隔离内存使用效率低程序运行的地址不确定 关于...
    SeanCST阅读 7,874评论 0 27
  • 生活,无所谓为观众或是演员,只要有所收获便心存感激。 周一下午两点半讲课技能大赛拉开帷幕,本该是研一研二学...
    漫漫之阳光阅读 299评论 0 1