ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

BUUCTF PWN rip1 WP

2021-07-31 14:29:36  阅读:323  来源: 互联网

标签:fun BUUCTF 函数 地址 pwn rip1 PWN 我们


BUUCTF   PWN   rip 1

这是一个WP,也是一个自己练习过程的记录。

  • 先把文件放入pwn机中检查一下,发现并没有开启保护,所以应该是一道简单题

 

我们运行一下试试,它让你输入一段字符然后将字符输出。

  • 把文件放在ida中查看一下

发现main函数并不复杂,只是定义了一个 s ,而且我们很容易就能找到栈溢出的点,我们都知道gets函数是一个危险函数,对于我们来说它可以接受到无限的字符,所以这里就是我们要pwn掉的点。

 

我们双击 s ,看它有多少空间

 

从图中不难看出 s 有15个字节的空间

与此同时,我在main函数的下面发现了一个可疑的函数,fun函数。双击打开它

 

果然,它的返回地址是/bin/sh,也是我们想要的地址。并且我们可以得到fun的起始地址。

  • 编写脚本

有了以上的地址我们就可以编写脚本来pwn掉这个程序拿到flag了

我们先用15个A来填充S,然后用8个a来填充rbp(因为是64位文件,如果是32位就用4个字符填充ebp),最后加上fun函数的起始地址。

 

至于这里要+1是为了堆栈平衡,想要详细了解可以学习大佬的文章http://blog.eonew.cn/archives/958 (这个是在别人的wp中找到的)

//  这里为什么+1我也还在学习,当我在网上找了一段时间后,发现与我的脚本相似的都加了1,所以我也加了1,然后脚本就通了。

我们运行脚本试一试

 

 

OK,成功拿到flag!

  • 总结

这虽然只是一道最基本最简单的题,但是其中包含的知识却不少,对于我这个pwn新手来说也是有一点的挑战性。

为了提高自己的水平,在这里立一个flag

每天解一道PWN题,或者学俩小时PWN课。

 

标签:fun,BUUCTF,函数,地址,pwn,rip1,PWN,我们
来源: https://blog.csdn.net/m0_54262894/article/details/119275075

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有