Agent Skills by ALSEL
Anthropic Claudeその他⭐ リポ 0品質スコア 50/100

http-parameter-pollution

フィルターやWAF、アプリケーションフレームワーク間でクエリパラメータや本文の重複キーの解釈が異なる「HTTPパラメータポリューション(HPP)」を悪用するスキル。サーバーとプロキシで「どちらの値が優先されるか」に齟齬が生じる場面で使用し、フィルターバイパス・SSRF補助URL・ロジック悪用・CSRFトークン混乱などの攻撃を可能にする。

description の原文を見る

>- HTTP Parameter Pollution (HPP): duplicate query/body keys parsed differently by servers, proxies, WAFs, and app frameworks. Use when filters and application layers disagree on which value wins, enabling bypass, SSRF second URL, logic abuse, or CSRF token confusion.

SKILL.md 本文

SKILL: HTTP Parameter Pollution (HPP)

AI LOAD INSTRUCTION: Model the full request path: browser → CDN/WAF → reverse proxy → app framework → business code. Duplicate keys (a=1&a=2) are not an error at HTTP level; each hop may pick first, last, join, or array-ify. Test HPP when WAF and app disagree, or when internal HTTP clients rebuild query strings. Routing note: when the same parameter appears multiple times, or WAF/backend stacks differ, use the Section 1 matrix to test first/last/merge assumptions, then design Section 3 scenario chains.

0. クイックスタート

仮説: セキュリティチェックはパラメータの1つの出現を読む一方で、実際の処理は別の出現を読む。

ファーストパスペイロード

id=1&id=2
id=1&id=1%20OR%201=1
url=https://legit.example&id=https://evil.example
amount=1&amount=9999
csrf=TOKEN_A&csrf=TOKEN_B
user=alice&user=admin

ボディバリアント (POST の場合も繰り返す)

application/x-www-form-urlencoded
id=1&id=2

multipart/form-data
------boundary
Content-Disposition: form-data; name="id"
1
------boundary
Content-Disposition: form-data; name="id"
2

クイック方法論

  1. ベースライン a=1&a=2 を使用して、フロントスタック (CDN/WAF) 対 オリジン (言語/フレームワーク) をフィンガープリントします。
  2. 両方の順序を送信: a=1&a=2 および a=2&a=1 (パーサーによっては順序に依存する場合があります)。
  3. JSON の場合: 重複キーと Content-Type 混合をテストします (セクション 2 を参照)。

1. サーバー動作マトリックス

典型的なデフォルト — 常に確認してください。ミドルウェアとカスタムパーサーはこれらをオーバーライドします。

テクノロジー動作例: a=1&a=2
PHP / Apache ($_GET)最後の出現a=2
ASP.NET / IIS多くの場合カンマで結合 (すべて)a=1,2
JSP / Tomcat (servlet param)最初の出現a=1
Python / Django (QueryDict)最後の出現a=2
Python / Flask (request.args)最初の出現a=1
Node.js / Express (req.query)値の配列a=['1','2'] (形状はパーサーバージョンによって異なる場合があります)
Perl / CGI最初の出現a=1
Ruby / Rack (Rack::Utils)最後の出現a=2
Go net/http (ParseQuery)最初の出現a=1

重要な理由: IIS上の WAF は 1,2 と表示される可能性がありますが、PHP バックエンドは 2 のみを受け取ります — またはプロキシが正規化する場合は逆です。


2. ペイロードパターン

2.1 基本的な重複キー

GET /api?q=safe&q=evil HTTP/1.1

2.2 配列スタイル (PHP / 一部のフレームワーク)

GET /api?id[]=1&id[]=2 HTTP/1.1

2.3 混合配列 + スカラー

GET /api?item[]=a&item=b HTTP/1.1

2.4 エンコード済みアンパサンド (パーサー差分)

# リテラル & が値の内側か新しいペアか — デコーダーに依存する
param=value1%26other=value2
param=value1&other=value2

2.5 ネストド / ブラケットキー

GET /api?user[name]=a&user[role]=user&user[role]=admin HTTP/1.1

2.6 JSON 重複キー

{"test":"user","test":"admin"}

多くのパーサーは最後のキーを保持します。JavaScript の JSON.parse は最後の重複キーを保持します。


3. 攻撃シナリオ

3.1 HPP + WAF バイパス

パターン: WAF は最初の値を検査します。アプリケーションは最後の値を使用します。

id=1&id=1%20UNION%20SELECT%20...

また試してください: JSON フィールドの無害な値がクエリ文字列で重複している場合、ゲートウェイがソースを異なる方法でマージする場合。

3.2 HPP + SSRF

パターン: バリデータは安全な URL を読みます。フェッチャーは内部/悪意のある URL を読みます。

url=https://allowed.cdn.example/&url=http://169.254.169.254/

どのコンポーネント (ライブラリ対アプリ) がどの出現を消費するかを確認します。

3.3 HPP + CSRF

パターン: 重複する CSRF トークンを使用して、1つのコピーがパーサー A を満たし、別のコピーがパーサー B を満たすようにします。

csrf=LEGIT&csrf=IGNORED_OR_ALT

明確な状態変更ターゲットを持つ認可された CSRF 評価でのみ使用します。

3.4 HPP + ビジネスロジック (例: 支払い)

amount=1&amount=5000
quantity=1&quantity=-1
price=9.99&price=0.01

競合状態またはサーバー側の丸めと組み合わせてより高いインパクトを実現します。HPP だけでは多くの場合、レイヤー間での分割解釈が必要です。


4. ツール

ツール使用方法
Burp SuiteRepeater: raw クエリ/ボディに重複キーを指定; Param Miner / 拡張機能で隠しパラメータを検出; firstlast 解釈のレスポンスを比較
OWASP ZAPManual Request Editor; 自動スキャンは HPP の深いファジング が得意ではない — 手動バリアントを推奨
カスタムスクリプト正確な raw HTTP を構築 (順序を保持) — クライアントの一部は重複を正規化します

ヒント: アプリで raw クエリ文字列をログに記録します (テスト環境を制御できる場合)。一部のフレームワークは "勝った" 値だけを公開していますが、ログは完全な文字列を表示します。


5. デシジョンツリー

                    +-------------------------+
                    | パラメータ名の重複      |
                    | 同じリクエスト内        |
                    +------------+------------+
                                 |
              +------------------+------------------+
              |                                     |
       +------v------+                       +------v------+
       | 単一のアプリ |                       | WAF / CDN / |
       | レイヤーのみ  |                       | プロキシチェーン |
       +------+------+                       +------+------+
              |                                     |
    +---------v---------+                 +---------v---------+
    | フレームワーク    |                 | 各ホップをマップ:  |
    | ドキュメント      |                 | first/last/join/  |
    | を読む + テスト    |                 | array             |
    | a=1&a=2 対 スワップ|                 +---------+---------+
    +---------+---------+                           |
              |                                     |
              +------------------+------------------+
                                 |
                          +------v------+
                          | 攻撃テンプレート|
                          | を選択        |
                          +------+------+
                                 |
         +-----------+-----------+-----------+-----------+
         |           |           |           |           |
    +----v----+ +----v----+ +----v----+ +----v----+ +----v----+
    | WAF対   | | SSRF    | | CSRF    | | ロジック | | JSON    |
    | アプリ  | | 分割    | | トークン | | 数値    | | dup key |
    | 値      | | URL     | | 混合    | | フィールド| | パーサー |
    +---------+ +---------+ +---------+ +---------+ +---------+

安全性とスコープ: HPP テストはサーバーの状態を変更できます (支払い、アカウント設定)。明示的に認可されている場所でのみ実行します。スコープ付きアカウントを使用し、高インパクトリクエストの前にパーサー動作を文書化してください。

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
yaklang
リポジトリ
yaklang/hack-skills
ライセンス
MIT
最終更新
不明

Source: https://github.com/yaklang/hack-skills / ライセンス: MIT

関連スキル

汎用その他⭐ リポ 1,982

superfluid

Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper

by LeoYeAI
汎用その他⭐ リポ 100

civ-finish-quotes

実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。

by huxiuhan
汎用その他⭐ リポ 1,110

nookplot

Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。

by BankrBot
汎用その他⭐ リポ 59

web3-polymarket

Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。

by elophanto
汎用その他⭐ リポ 52

ethskills

Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。

by jiayaoqijia
汎用その他⭐ リポ 44

xxyy-trade

このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。

by Jimmy-Holiday
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: yaklang · yaklang/hack-skills · ライセンス: MIT