一昨日のエントリ『書籍「気づけばプロ並みPHP」にリモートスクリプト実行の脆弱性』にて、ファイル送信フォームに対するCSRF攻撃の文脈で、私は以下のように書きました。 通常のHTMLフォームを使ったCSRF攻撃では、Content-Typeをmultipart/form-dataにすることまでは可能ですが、ファイルの中身とファイル名を指定する方法がありません。従って、HTMLフォームによる攻撃経路はありません。 大半の方は、「ああ、そうだよね」という感じでお読みいただいたように思いますが、昨日サイバーディフェンス研究所の福森大喜さんから、「それIE8以前ならできるよ」と教えていただきました。福森さんの許可を得て、以下にPoCを公開します。 <form enctype="multipart/form-data" action="pro_add_check.php" method="POST"
![IE8以前はHTMLフォームでファイル名とファイルの中身を外部から指定できる](https://cdn-ak-scissors.b.st-hatena.com/image/square/690ec3d3415af431eaeff2f9ee9af32aed2325f6/height=288;version=1;width=512/https%3A%2F%2F3.bp.blogspot.com%2F-rqpyQq8mQzc%2FUuheUDjbPBI%2FAAAAAAAAKZY%2FH_BZ6gJjJ6A%2Fw1200-h630-p-k-no-nu%2Fpronami002.png)