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

psqlコマンドを使えるように

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 不要。 |
OPTIONS で Allow: 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 のまま。 |
strings で version!= "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)