# buffer overflow 1-200pt
[題目在這](https://play.picoctf.org/practice/challenge/258?originalEvent=70&page=3)
## 題意

## 解題思路
首先先看看他給的 code,可以知道我們要使用 buffer overflow,讓 ret 的 memeory address 變成 win() 的 memory address

在開始之前,自己寫個 flag.txt,等等測試如果成功應該要吐出這個檔案的內容

接著用 gbd 打開檔案,用 patter create 100 建立 100 個字母,然後 ```r``` 執行塞入那 100 個字母

根據結果可以知道 overflow 在 ```0x6161616c(laaa)```

用 ```pattern search 0x6161616c``` 可以知道,需要塞入 44 個 char,然後下 ```x win``` 找出 win() 的位置在 ```0x80491f6```

用 python pwn套件中的 p32() 將 0x80491f6 轉為字符

然後將 44 個字符和 win() 的 address,喔吼,我們測試的 flag 吐出來啦

OVO

## 困難之處
學習 C 語言,還有 pwn 真好玩
Date : 2023/04/27
###### tags: `picoCTF2022` `Binary` [`從零開始的 picoCTF`](https://hackmd.io/-KQeDuzrQMOcFNhwU_5eKA?both=) `picoCTF`