ギークな思考

CTFのWiteUpを書きます。

pwnでの攻撃手法

format string attack

printf関数のフォーマット文字列が指定されていない場合に、外部から指定するような文字列を挿入することでスタックなどのメモリ内容を読み出す攻撃手法。

printf関数は呼ばれる際に、フォーマット文字列をスタックに積む。しかしprintf関数にフォーマット文字列が指定されていないとき、その部分を任意の文字列で置き換えられてしまうため、%p, %x などのフォーマット文字列を挿入することでメモリ内容を読み取ることができる。

 

・フォーマット文字列

「%p」や「%x」が使われる

C言語 printfのフォーマット指定子 - Qiita

 

・参考

fsbの資料 · GitHub

 

その他

・コインやお金を増やそう系のゲームが与えられたとき

とりあえず、負の数を指定してみる