はじめに こんにちは、CTOのはせがわようすけです。 少し前に大津さんが Node.js におけるprototype汚染攻撃を紹介する記事を掲載されていました。 Node.jsにおけるプロトタイプ汚染攻撃とは何か どういう原理での攻撃なのかの解説は大津さんの記事を参照頂くとして、記事内で紹介されている講演の動画では最終的に任意コード実行まで至っているという点で非常に興味深いものがあります。 攻撃の経路としてはクライアントからHTTP経由でJSONをPOSTするというだけですので、いくら Object.prototype を上書きできたとしても送ることのできるデータはJSONで表現可能なプリミティブな型のみで、JavaScriptの関数は含めることはできません。 この講演動画で扱われているGhost CMSというソフトウェアでは、__proto__ 経由でテンプレートのファイル名だけでなくそ
![Node.jsにおけるprototype汚染攻撃への対策 - SSTエンジニアブログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/f0be2f6df1895bdaedbd6ed73a9b069d1d07d3b8/height=288;version=1;width=512/https%3A%2F%2Fi0.wp.com%2Fsecuresky-plus.com%2Fwp-content%2Fuploads%2F2024%2F04%2Fogp-secureskyplus-1200x630-1.png%3Ffit%3D1200%252C630%26ssl%3D1)