Shikata Ga Nai

Private? There is no such things.

Business logic

【有料試作版】PortSwigger LAB解説:Bypassing access controls using email address parsing discrepancies(メールパーサの解釈差でアクセス制御を迂回)

Hello there, ('ω')ノ ねらい このLABは、登録時のメールドメイン制限(@ginandjuice.shopのみ)を、メールアドレスのパース処理の食い違いを突いて突破します。クライアント(アプリ側)とメールサーバ/ライブラリ側の“どの文字列を本当のアドレスとみなす…

【有料試作版】PortSwigger LAB解説:Inconsistent handling of exceptional input

Hello there, ('ω')ノ ねらい このLABは、入力値の取り扱いが処理の場所ごとにバラバラだと、想定外の権限(ここでは管理者パネル)に到達できてしまう、というロジックフローの欠陥を学ぶ演習です。 キモは「メールアドレスの長さ制限」と「確認メールの送…

LAB: ビジネスルールの不適切な適用

Hello there, ('ω')ノ ラボ概要 このラボでは、ショッピングサイトの購入ワークフローに存在するビジネスロジックの脆弱性を突いて、通常よりも少ない金額で「Lightweight l33t leather jacket」を購入する方法を学びます。具体的には、クーポンコードの適…

ビジネスロジックの脆弱性:業界特有の機能に潜む落とし穴

Hello there, ('ω')ノ 概要 ビジネスロジックの脆弱性は、アプリケーションが提供する機能の性質や業界特有の要件に起因するため、その影響は広範かつ深刻です。特にオンラインショップの割引機能のように、ユーザーの操作に基づいて価格が変動するロジック…

LAB: 2FAの簡易バイパス — 不完全な実装が招くセキュリティリスク

Hello there, ('ω')ノ 脆弱性の概要 このラボでは、2要素認証(2FA)の不完全な実装により、攻撃者が2FAコードを入力せずに保護されたアカウントページにアクセスできる脆弱性を検証します。具体的には、ログイン後に2FAコードの入力を求められますが、サー…

2要素認証(2FA)のバイパス:ユーザーの予期しない行動が引き起こすセキュリティの落とし穴

Hello there, ('ω')ノ 2FAの一般的な実装とその問題点 多くのウェブアプリケーションでは、ユーザー認証を強化するために2要素認証(2FA)を導入しています。通常、ユーザーは最初にユーザー名とパスワードを入力し、その後、SMSや認証アプリを通じて提供さ…

LAB: パスワードリセット機能のロジック不備を突いたアカウント乗っ取り

Hello there, ('ω')ノ 概要 このラボでは、パスワードリセット機能に存在するロジックの不備を悪用し、他人のアカウント(carlos)のパスワードをリセットして不正にログインする方法を学びます。 攻略目標 carlos のパスワードをリセットする carlos のア…

パラメータを省略することで発生するロジック脆弱性の解説

Hello there, ('ω')ノ 概要 多くの開発者は「ユーザーは必ずすべての必須フィールドを入力する」と想定しています。しかし現実には、攻撃者はBurp Suiteなどのツールを使って、HTTPリクエストの途中でパラメータを編集または削除することができます。これは…

LAB: 不整合なセキュリティ制御を突いた管理者機能の不正アクセス

Hello there, ('ω')ノ ラボの目的 このラボでは、特定のドメイン(@dontwannacry.com)のメールアドレスを持つユーザーにのみ管理者パネルへのアクセスが許可されているという設定のもと、メールアドレスの変更機能の不備を突いて、任意のユーザーが管理者…

信頼しすぎたユーザーの裏切り ― 想定外の動きが招くロジック脆弱性

Hello there, ('ω')ノ 脆弱性の核心:「ユーザーは正しく使うはず」という思い込み 多くのアプリケーションでは、次のような楽観的な設計が行われてしまいます: ✅ 最初にチェックを通過したなら、その後も正しい動きをしてくれるはず。 しかし、これは非常…

LAB: 高度なロジック脆弱性を突いて高額商品を格安で購入する手法

Hello there, ('ω')ノ 脆弱性の概要 このラボでは、ショッピングカートの数量パラメータに対する不適切なサーバー側バリデーションを突くことで、商品価格を意図的に操作し、高額商品を格安で購入することが可能です。具体的には、負の数量を利用してカート…

想定外の入力値を処理できない脆弱性 ― 負の数や極端な値がもたらす設計崩壊

Hello there, ('ω')ノ ✅ 脆弱性の概要 多くのアプリケーションは、画面上では正常な入力値しか想定しておらず、 異常な入力値(負の数、異常に大きな値、桁外れな文字列など)への対処を忘れていることがあります。 典型的な設計ミスの例:送金処理 以下は…

LAB: クライアント側制御への過信による価格改ざん

Hello there, ('ω')ノ ラボの目的 「商品価格がクライアント制御に依存しており、サーバーで正しく検証されていない」という脆弱性を突いて 高額な「Lightweight l33t leather jacket」を不正に安く購入します。 攻略手順(Burpを使って値を改ざん) 1. ロ…

クライアント側の制御を信頼する危険性:裏で改ざんされるとどうなる?

Hello there, ('ω')ノ 本質的な問題 「ユーザーはWeb画面の通りにしか操作しない」 「クライアント側のチェックがあるから大丈夫」 このような前提で設計されたシステムは攻撃者には無力です。 どんな攻撃が可能になるのか? 攻撃者は ブラウザではなく Bu…

ビジネスロジックの脆弱性とは?設計ミスが招く実例と学び方

Hello there, ('ω')ノ ✅ ビジネスロジックの脆弱性とは アプリケーションの「業務フロー」や「利用ルール」に基づいた設計上の不備により、 ユーザーが意図されていない操作や悪用をできてしまう問題です。 なぜ検出が難しいのか? SQLインジェクションやXS…