用 pwntools 送出 EOT

https://github.com/Gallopsled/pwntools/issues/985 根據這個issue,要做到我們按Ctrl-D相同的效果,就要把process設成下面這樣 r = process(“./a.out”, stdin=process.PTY, raw=False)r.send(chr(tty.CEOF)) // 傳送EOF 但要注意,改成這樣以後會有很多特殊字元都不能直接傳送,以下的list就是該fd的特殊字元 但這個方法似乎只有用process的時候可以通,而要怎麼通過socket傳送,目前我還沒查到lol

gdb 與 父子程序

先上結論 set follow-fork-mode parent set follow-fork-mode child show follow-fork-mode 有時候會遇到debug到一半就跳出子程序,就結束了 [New process 28128] process 28128 is executing new program: /bin/dash [Inferior 2 (process 28128) exited with code 02] 只要下 set follow-fork-mode parent ,就可以繼續留在 parent process

在gdb中用原始碼debug glibc

打開/etc/apt/sources.list # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to # newer versions of the distribution. deb http://debian.linux.org.tw/ubuntu/ bionic main restricted deb-src http://debian.linux.org.tw/ubuntu/ bionic main restricted 把main restricted的deb-src取消註解找個適當的地方執行apt-get source glibc在.gdbinit中加入 set directories /path/to/glibc-source/glibc-2.27/mallocdone!