2016-12-01から1ヶ月間の記事一覧

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

ctf

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

Docker + GNU GLOBALで手軽にソースコードリーディング環境を作る

Kia Ora! この記事はプロ生ちゃん Advent Calendar 2016の16日目の記事です。 2015年はbash-completionでコマンド補完するときにプロ生ちゃんに何か言ってもらう - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモなんて記事を書きました。2014年はプロ生ちゃん …

behemoth6めも

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

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

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

Linuxカーネルのライブパッチを使ってテスト用のstubを作る

この記事はLinux Advent Calendar 2016の1日目の記事です。 テストする時にstubって便利ですよね。最近はnodejsで仕事のコードを書いているのでsinon便利だなとか思ってます。じゃあ、Linuxカーネルでもstub作れたら便利だよねという思うわけです。そうする…