ctf

angrのBackward Slicingを使ってみる

angrのBackward Slicingを使ってみたので、わかったことをとりあえずメモしておきます。と言っても、Backward Slicingの実行方法自体はドキュメントに書いてあるので、知りたかったのはBackward Slicingしたあとにどのようにデータを見ればよいの?ってとこ…

TryHackMe: Race Conditions writeup

Race Conditions tryhackme.com What is the flag for the /home/walk/flag binary? At first, I read anti_flag_reader.c to find vulnerability. int main(int argc, char **argv, char **envp) { int n; char buf[1024]; struct stat lstat_buf; if (argc…

c++で書かれたコードのアセンブリの読み方めも

ctf

http://pwnable.kr/play.phpのuafがc++で書かれていたので読む必要が有ったので今後のためにもメモ程度に覚書を。今回はgdbのdisasとかobjdumpでアセンブリを読む時にnewはどのように呼んでいるるのかとかのめもです。 読んでいるバイナリのタイプはLinuxのE…

behemoth6めも

overthewireのbehemothのレベル6をクリアできたのでメモしときます。 この問題は脆弱性を突くタイプではなくて、特定の条件を満たすとshellが起動してクリアとなる問題でした。 これは実行するプログラムは/behemoth/behemoth6で、内部的には/behemoth/behem…

シンボリックリンク攻撃めも

最近遊んでいるOverTheWireのBehemothのレベル4がシンボリックリンク攻撃だったのでその攻略めもです。 behemothの問題はソースコードは公開されてないので見れるのはバイナリだけです。で、gdbでdisas mainしたときの表示がこちら。 Dump of assembler code…