セットアップは次のとおりです。
Flask-WTF を使用した単純な Flask アプリがあります。
ユーザーが 1 つのテキスト フィールドを含むフォームを送信しますfilename
。
フォームには CSRF トークンがあります (Flask-WTF から)。
ユーザーがフォームを送信して検証すると、ブラウザは送信されたファイル名で自動生成されたファイル (つまり、サーバー ファイル システムからのファイルではない) をダウンロードします。
重要なコードは次のとおりです。
response.headers['Content-Disposition'] = 'attachment; filename={0}.lsc'.format(filename)
それはどれほど安全ですか?
言い換えれば、Content-Disposition
ヘッダーに任意のテキストを挿入できる場合、悪意のあるユーザーは何ができるでしょうか?