- 有一些題目跟去年一樣,應該是配合My-first-ctf吧
- 跟去年比起來,我覺得自己成長蠻多的,覺得去年der我是菜雞
- 放一下scoreboard紀錄一下,我是halloworld
Pwn
Welcome BOF
用objdump 或 ida 知道 [rbp-30h] ,必須壓過48 + 8 個byte,才能到return_address,但奇怪的是蓋48才過??
然後要跳的這
0000000000400687 <welcome_to_ais3_2019>
利用pwntools
1 | from pwn import * |
ORW
- x86-64的結構
- 裡用shellcraft產的shell-code,注入輸入點
- 一樣查看buffer-overflow的點,跳到.data的address
0x00000000006010A0
,利用ida查看
1 | from pwn import * |
reverse
Trivial
- 用ida組出flag
web
SimpleWindow
- 須利用離線版查看,可利用chorme工具改成offline顯示
Hidden
- 在console中跑jscode,運行r()的function
d1v1n6
- phpfilter,把index.php打包起來
- decode之後發現不能用127.0.0.1,0.0.0.0
- filter 包起 http://localhost
- decode出來就是結果
Crypto
TCash
- 將上面的ascii字元用md5 & sha256照做一次,會有一張表
- 將兩個的結果做比對,取交集就是flag
1 | from hashlib import md5,sha256 |
Misc
Welcome
- 簽到題
KcufsJ
- 將code reverse 然後 run
Are you admin?
- command injection
- 讓name 對到 fucker
- is_admin 對到 yes
- 接下來讓隨便的東西對到dictionary,才能將is_admin做忽略
- 最後再補上一個對照,因為最後有個引號
{\"name\":\"#{name}\",\"is_admin\":\"no\", \"age\":\"#{age}\"}
fucker","is_admin":"yes","2":{"a":"b
18"},"1":"2