プロトタイプ汚染攻撃

(Web関連用語)
https://www.sompocybersecurity.com/column/glossary/prototype-pollution

プロトタイプ汚染攻撃(prototype pollution attack)とは、ざっくり言うと、攻撃者がJavaScriptオブジェクトのプロトタイプを書き換えることで、情報を盗んだり、オブジェクトの振る舞いを変更したりする攻撃のことである。
プロトタイプ汚染を悪用した攻撃は、DDoS攻撃やリモートコード実行、クロスサイトスクリプティング、SQLインジェクションなど様々である。
この攻撃は通常、ユーザーからのWebアプリケーションへの入力や、悪性コードの送信を通じて行われる。このため、入力の検証がまず第一の予防策とされている。

// Object.prototype汚染
Object.prototype.bar = 1;
var foo = {goo: undefined};

foo.bar; // 1
'bar' in foo; // true

foo.hasOwnProperty('bar'); // false
foo.hasOwnProperty('goo'); // true
inserted by FC2 system