Skip to content

Commit d5b4456

Browse files
authored
Fix misspelled words
1 parent d50cce8 commit d5b4456

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

ais3-eof-2017/final/getflag.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
## getflag
22
### solution
33
這是Final唯一解出來的一題Orz。
4-
首先試著執行題目給的binary發現無法執行,不過flie顯示是relocatable,也可以進行反組譯。反組譯後會看到`kfree``printk``init_module`之類的symbol、因此猜測是kernel module之類,在remote shell上面用`lsmod``demsg、可以看到確實有`getflag`這個kernel module的相關訊息。
4+
首先試著執行題目給的binary發現無法執行,不過`file`顯示是relocatable,也可以進行反組譯。反組譯後會看到`kfree``printk``init_module`之類的symbol、因此猜測是kernel module之類,在remote shell上面用`lsmod``dmesg`、可以看到確實有`getflag`這個kernel module的相關訊息。
55

66
接著以IDA Pro反組譯module,可以看見他會在procfs底下建立`getflag``getflag_addr`兩個entry。
77
試著`cat /proc/getflag_addr`會輸出一串kernel space address,`cat /proc/getflag`則會顯示`[access denied]`
88

9-
到此可以推測目標為leak出存在該kernel memory address的flag,而remote版本為linux 4.4.0,處理器為Intel,而且必須從user mode讀取kernel space,剛好符合Metldown的攻擊要件,因此試著以PoC進行攻擊。
9+
到此可以推測目標為leak出存在該kernel memory address的flag,而remote版本為linux 4.4.0,處理器為Intel,而且必須從user mode讀取kernel space,剛好符合Meltdown的攻擊要件,因此試著以PoC進行攻擊。
1010

1111
[原PoC](https://github.com/paboldin/meltdown-exploit/blob/master/meltdown.c)修改成以下版本後,以`getflag_addr`的位址作為執行參數即可讀出flag。
1212

0 commit comments

Comments
 (0)