🪴 あやめHex

Search

Search IconIcon to open search

Format String Attack

Last updated Nov 30, 2022 Edit Source

# Format String Bug

書式を printf の第一引数に入れることで読み込んだり書き込める.

Format説明
%x %6$x
%42x指定した数だけ文字を出力する
%p %6$p読む
%s %6$sその64bitアドレスから(null文字まで)読む
%n %6$nその64bitアドレスへ書き込む
%hhn %hn %n %lnそれぞれ 1 2 4 8 バイト書き込む。%hhnは0x100で剰余をとってくれるので一周回してあげれば任意の値を書き込める。

# 対策

printf の第一引数を攻撃者に渡さない.