株式会社KOMPEITO 社内登壇 2026/08/06 田中博悠 / tanahiro2010 / サブカル性癖博士
実際に見つけた脆弱性の種類
入力がSQLに届くまでの経路を追う
任意コード実行につながる問題
入口と権限のズレを見る
※ 公開資料にするため、実サービス名・再現手順・具体パラメータは扱いません
今日は攻撃手法ではなく、見つけ方に絞って話します
レビュー? 診断ツール? 勘? ログ? 怪しいコードを読む?
ユーザー / API / 管理画面
認証・権限の前提
重要な処理
PHP5.6 + Zend Framework のようなMVC構成では、ここが探索の起点になります
管理者であることを前提にした処理
ログイン済みユーザーを前提にした処理
登録すれば通れる入口
認証なしでも動く可能性がある入口
誰でも通れる 登録だけで通れる
決済 / 個人情報 / 管理操作
人を責める話ではなく、構造としてズレが起きやすい場所を見に行く話です
例: 開発用ショートカットやデバッグ分岐が、本番で有効になっていないか、など
未完成だけど、KOMPEITO向けに育てているOSSスキャナ
pipx run --spec https://github.com/tanahiro2010/php-vuln-scanner.git \ php-vuln-scanner <target_path>
pipx run --spec https://github.com/tanahiro2010/php-vuln-scanner.git \ php-vuln-scanner <target_path> > security.txt
security.txt
長く動いているサービスには、コメント・命名・実装・実際の利用状況のズレが蓄積します
「この関数は未使用」 でも現役で使われている
テスト用・一時対応の分岐が残る
昔の入口を前提にした処理が残る
今の設計と合わない処理が残る
git log --pretty=format:'%ad %h' --date=short -- path/to/file.php
「古い = 危険」ではなく、「仕様と実装がズレているかもしれない」です
<path> と、その依存関係を調査してください このファイルは最終更新が古く、現在の認証・権限モデルと ズレている可能性があります 外部入力が DB / ファイル / OSコマンド / eval 系処理に 到達する経路がないか確認してください
ファイル全部を雑に投げるより、観点を絞った方が検出率が上がります
意図的に脆弱な学習用プロジェクトです 本番環境に置かないでください
git clone git@github.com:tanahiro2010/php-vuln.git
SQLi講義の資料・環境を使い回しているため、今回使わないファイルも含まれています
pipx run --spec https://github.com/tanahiro2010/php-vuln-scanner.git \ php-vuln-scanner ./php-vuln/sandbox/sqli-training-site-php
期待する流れ
聞いてくれてありがとう。 一緒にバンジー飛んでくれる人を探してます!