這篇記錄的預期會有點像流水帳,希望能完整重現我的 debug 過程和遇到的困難 根據我同事的 debug 的結果是當對著 disconnected 的 nfs mount server 下指令 stat 會直接卡住,而 enine 的實作剛好是會用 stat 去訪問該路徑,所以卡住也是合情合理,但我的困惑點是我從手冊上看不出 stat 會是 block function ,手冊中提到 block 字眼都是在描述資料大小的 block 而不是卡住的 block ,所以對這個結果產生疑惑,所以想一探究竟 debug 完後再搜尋其實有發現不少人問過對著一個 disconnected 的 nfs mount point 下指令會卡住的問題,例如:An NFS client hangs on various operations, including "df". Hard vs Soft NFS mounts. 因為 stat 基本上就是用 syscall 去拿該 directory 的資訊,所以進行 kernel debug 是必須的,我的預想是開兩台機器,一台是 nfs-server 另一台當 client ,當兩邊建立好連線資料夾都 mount 上去後關掉 server ,然後對著 mounted directory 下指令 stat ,觀察其流程 或許其他 tool 說不定也可以,但不太熟 XD
2/15/2024learn from Few lesser known tricks, quirks and features of C 斟酌使用 有些章節沒有詳細說明通常是因為在原文中也沒詳細說明,有時間再補 Array Pointer 用 pointer 表示 array(decay-to-pointer): int arr[10];
5/30/2023video Making software fast 效能提升來自於方方面面: 軟體架構 減少不必要的工作 使用更高效的語言 善用硬體
12/28/2022mitre T1055.014 這是 mitre 上面提到的 linux 獨有的 process injection 方式,不過從 reference 來看好像沒有已知的攻擊是用這種方式(我覺得是太麻煩的緣故 XD),但他的確是一個可行的攻擊技巧 作者原文 本質上是透過 ptrace 達到加載 shared library 和修改 GOT table 達到劫持的目的 kernel pwn 的 vdso hijacking 如果直接 google vdso hijacking ,可能會找到某個 kernel pwn 的題目,雖然都叫 vdso hijacking ,但兩者可以說是天差地遠,一個是在 kernel 層去修改 vdso 的執行流程,另一個則是在 user space 透過 ptrace 去攔截 syscall 並加以利用
9/18/2022or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up