アイジア

CTF, 情報セキュリティの学んだことメモ

ksnctf 25 Reserved

ksnctf.sweetduet.info

ppencode

これはppencodeというperl予約語を使った難読化の技術らしいです。このままでもperlで普通に実行できてしまいます。
最初の方だけ解説すると、

print chr ord uc qw q flock q

ここで「FLAG_」の「F」が出力されています。

q flock q
perlでqはシングルクォーテーションを意味します。'flock'です。

qw q flock q
qw演算子は空白文字で区切ったリストを作るものですがいまはflockしかないのでこの部分は変わらず'flock'になります。

uc qw q flock q
予約語「uc」で'flock'を大文字の'FLOCK'に変換します。

chr ord uc qw q flock q
「ord」で'FLOCK'から一文字取り出してASCIIコードに変換(70)、そして「chr」で再び文字に変換して「print」で'F'を出力という流れ。このような処理を繰り返してFLAGが出力されます。