Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
json-sanitizer — JSON風のコンテンツが与えられた場合、JSON Sanitizerはそれを有効なJSONに変換します。 | Kitploit
ツール/GitHubGitHub/owasp/json-sanitizer
汎用ユーティリティ静的分析暗号化/復号化ツール脆弱性分析コード分析ウェブセキュリティ
GitHubowasp/json-sanitizer

json-sanitizer

JSON風のコンテンツが与えられた場合、JSON Sanitizerはそれを有効なJSONに変換します。

リポジトリを見る
219552年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

json-sanitizer Fuzzing Status

JSON に似たコンテンツを、JSON Sanitizer は有効な JSON に変換します。

はじめに - 連絡先

これは、データパイプラインの両端に接続して、Postel の原則を満たすのに役立ちます。

自分が行うことには保守的に、他人から受け入れることには寛容に

他人から受け取った JSON に似たコンテンツに適用すると、使用するあらゆるパーサーを満足させる、適切に形成された JSON が生成されます。

送信前に出力に適用すると、エンコーディングの小さな誤りを修正し、JSON を HTML や XML に埋め込みやすくなります。

動機

アーキテクチャ

多くのアプリケーションには、JSON 出力を生成するためにアドホックな方法を使う大量のコードがあります。

多くの場合、これらの出力はすべて、ネットワーク経由で送信される前に、少量のフレームワークコードを通過します。この少量のフレームワークコードは、このライブラリを使用して、アドホックな出力が標準に準拠し、Javascript の eval 演算子のような(過度に)強力なデシリアライザに渡しても安全であることを確認できます。

アプリケーションはまた、さまざまなソースから JSON を受け取る Web サービス API を備えていることがよくあります。この JSON がアドホックな方法で作成された場合、このライブラリはそれを解析しやすい形式に整形できます。

このライブラリをリクエストとレスポンスを送受信するコードに組み込むことで、このライブラリはソフトウェアアーキテクトがシステム全体のセキュリティと整形式性の保証を確保するのに役立ちます。

入力

サニタイザは、JSON に似たコンテンツを受け取り、JS の eval が行うように解釈します。具体的には、次の非標準構文を扱います。

サニタイザは、欠落している句読点、終わりの引用符、および不一致または欠落している閉じ括弧を修正します。入力が空白のみの場合、有効な JSON 文字列 null に置き換えられます。

出力

出力は、RFC 4627 で定義されている整形式の JSON です。 出力は次の追加プロパティを満たします:

  • 出力には、(大文字と小文字を区別せずに)部分文字列 "<script"、"</script"、"<!--" が含まれないため、追加のエンコーディングなしで HTML のスクリプト要素内に埋め込むことができます。
  • 出力には部分文字列 "]]>" が含まれないため、追加のエンコーディングなしで XML CDATA セクション内に埋め込むことができます。
  • 出力は有効な Javascript 式であるため、(括弧で囲んだ後) Javascript の eval 組み込み関数または JSON.parse で解析できます。具体的には、出力には JS の改行(U+2028 段落区切り文字または U+2029 行区切り文字)が埋め込まれた文字列リテラルは含まれません。
  • 出力には、XML でエスケープなしで許可されている有効な Unicode スカラー値のみが含まれます(孤立した UTF-16 サロゲートはありません)。

セキュリティ

出力は整形式の JSON であるため、eval に渡しても副作用や自由変数がなく、コードインジェクションのベクターでも、秘密情報の外部漏えいのベクターでもありません。

このライブラリが保証するのは、JSON 文字列 → Javascript オブジェクトのフェーズに副作用がなく、自由変数を解決しないことだけであり、その結果得られた Javascript オブジェクトを後で他のクライアントサイドコードがどのように解釈するかを制御することはできません。したがって、クライアントサイドコードが、攻撃者によって制御された解析データの一部を受け取り、それを eval や innerHTML のような強力なインタプリタに戻して渡すと、そのクライアントサイドコードが意図しない副作用に悩まされる可能性があります。

root@kitploit:~
var myValue = eval(sanitizedJsonString);  // safe
var myEmbeddedValue = eval(myValue.foo);  // possibly unsafe

さらに、JSON のサニタイズは、Confused Deputy 攻撃 からアプリケーションを保護することはできません。

root@kitploit:~
var myValue = JSON.parse(sanitizedJsonString);
addToAdminstratorsGroup(myValue.propertyFromUntrustedSource);

パフォーマンス

サニタイズメソッドは、入力が上記のプロパティを満たす有効な JSON である場合、新しいバッファを割り当てずに入力文字列を返します。したがって、通常は整形式である入力に使用した場合、メモリのオーバーヘッドは最小限です。

サニタイズメソッドの時間計算量は O(n) です。ここで、n は UTF-16 コード単位での入力の長さです。

ツールをダウンロード
構文方針
'...'単一引用符で囲まれた文字列は JSON 文字列に変換されます。
\xAB16 進エスケープは JSON ユニコードエスケープに変換されます。
\0128 進エスケープは JSON ユニコードエスケープに変換されます。
0xAB16 進整数リテラルは JSON 10 進数に変換されます。
0128 進整数リテラルは JSON 10 進数に変換されます。
+.510 進数は JSON のより厳密な形式に強制されます。
[0,,2]配列の省略(穴)は null で埋められます。
[1,2,3,]末尾のカンマは削除されます。
{foo:"bar"}引用符で囲まれていないプロパティ名は引用符で囲まれます。
//commentsJS スタイルの行コメントとブロックコメントは削除されます。
(...)グループ化の括弧は削除されます。