mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
2.0 KiB
2.0 KiB
Django
Cache Manipulation to RCE
Djangoのデフォルトのキャッシュストレージ方法はPython picklesであり、信頼できない入力がアンピクルされるとRCEにつながる可能性があります。攻撃者がキャッシュへの書き込みアクセスを取得できれば、この脆弱性を基盤となるサーバーでのRCEにエスカレートさせることができます。
Djangoのキャッシュは、Redis、メモリ、ファイル、またはデータベースのいずれかに保存されます。Redisサーバーまたはデータベースに保存されたキャッシュは、最も攻撃の標的になりやすい(RedisインジェクションおよびSQLインジェクション)ですが、攻撃者はファイルベースのキャッシュを使用して任意の書き込みをRCEに変えることもできるかもしれません。メンテナはこれを非問題としてマークしています。キャッシュファイルフォルダー、SQLテーブル名、およびRedisサーバーの詳細は、実装に基づいて異なることに注意することが重要です。
このHackerOneレポートは、SQLiteデータベースに保存されたDjangoキャッシュを悪用する素晴らしい再現可能な例を提供しています: https://hackerone.com/reports/1415436