Open7

CTF全般メモ

とうもろこしとうもろこし

最低限のツールセット(macOS想定)
CLI:file strings xxd grep sed awk binwalk exiftool qpdf pdftotext zsteg
Crypto/Math:Python, sympy, sage(任意), RsaCtfTool
Web:Burp Suite, curl, ffuf(ディレクトリ発見)
Pwn:gdb+gef/peda, pwntools
Reversing:Ghidra(またはIDA Free), Radare2(任意)
Network:Wireshark, tshark

とうもろこしとうもろこし

Deprecated Interfaceパターン

# 典型パターン 具体例・攻撃ポイント 見つけ方のヒント
1 旧 API ルートが残存 /api/v1/… が公式には /api/v2/… に移行済みだがまだ稼働。古い方は CSRF/認可チェックが甘い。 404 にならない “昔の URL” を総当り。Swagger/JS から v1 コメントをgrep。
2 隠しパラメータ/フラグ ?debug=true で詳細スタックトレース/管理 UI が出現。 JS の if (isDev) ブロック、Burp の Param Miner。
3 旧 HTTP メソッド フロントは POST /upload だけだがサーバは PUT /upload も受け付け、CSRF Token 不要。 OPTIONSAllow: GET,POST,PUT,… を確認。
4 レガシー・サブプロトコル WebSockets 移行後も SOAP/XML-RPC エンドポイントが生存し認証が弱い。 ポートスキャン + file ~/etc/services で XML 応答を確認。
5 バックアップ/ダンプ残骸 old/, ~, .bak 付きの旧版 JS/PHP に脆弱コード。 Dirbuster, Git 残骸 (.git/index)。
6 廃止 UI 画面 新 UI では「ユーザ削除」ボタンが無いが、旧 /legacy/deleteUser フォームが隠しリンクで存続。 Wayback Machine / source map に残るリンク名を grep。
7 旧役割/ロールの API Gate 新ロール体系に統合されたが、X-User-Role: superadmin ヘッダで旧 IF が優先。 JS で role == 'superadmin' を条件にしている行を探す。
8 バージョン・フラグによるフォールバック Accept-Version: 1.0 ヘッダを付けると古いコードパスに入り、署名チェックが MD5 のまま。 stringsversion!= "2.0" 付近を検索。
9 コンフィグ値だけ削除 .env から ENABLE_XML=true を消しただけで、実際のコードはまだ XML パースを呼ぶ。 Docker image から grep -ir xmlparser .
とうもろこしとうもろこし

Ethereum Sepolia faucet
EthereumのテストネットワークであるSepoliaで、開発者が無料でテスト用のETHを受け取れるサービスのことです。テスト用のETHは、実際のイーサリアムネットワーク(メインネット)での取引のように、実際の資金を消費することなく、スマートコントラクトの開発やテストを行うために使用されます。

とうもろこしとうもろこし

Githubの /activity で、消されたコミット履歴も見ることができる。

とうもろこしとうもろこし

ffmpegで動画の各フレームを画像ファイルに書き出す方法

ffmpeg -i 動画ファイル名 frame_%04d.png

%04d は0埋めありの4桁数字で連番がつけられる。

とうもろこしとうもろこし

RSAデコード

from Crypto.Util.number import long_to_bytes, inverse

p = xxx(int形式)
q = xxx(int形式)
c = xxx(int形式)

n =  p * q
e = xxx(int形式)

phi = (p - 1) * (q - 1)
d = inverse(e, phi)
m = pow(c, d, n)
flag = long_to_bytes(m)