
Responsive Filemanager < 9.12.0 のアップロード制限を回避し、RCE につながる PoC
Responsive Filemanager < 9.12.0 のアップロード制限バイパスによりRCEに至るPoC
新しいファイルをアップロードするとき、関数 fix_filename を通ります: https://github.com/trippo/ResponsiveFilemanager/blob/9a7411f3eab3b7d8e2c78dcf40b4325bde2c548d/filemanager/upload.php#L112
この関数には、括弧を検索して削除する関数 strip_tags があります: https://github.com/trippo/ResponsiveFilemanager/blob/9a7411f3eab3b7d8e2c78dcf40b4325bde2c548d/filemanager/include/utils.php#L581
したがって、shell.php<.txt のようなファイル名のファイルを送信できます。これは strip_tags 関数により shell.php にリネームされます。
しかし、コンテンツによるファイルタイプの追加チェックがあります: https://github.com/trippo/ResponsiveFilemanager/blob/9a7411f3eab3b7d8e2c78dcf40b4325bde2c548d/filemanager/upload.php#L101
したがって、古典的なPHPシェル <?php system($_GET['c']);?> をアップロードすることはできません。しかし、少しトリックを使うことができます: 関数 はファイルの最初の数文字に基づいて動作します。そのため、ペイロードの先頭に数文字の 'a' を置くと、 タイプとして検出されます。
get_extension_from_mimetxtshell.php<.txt に変更する

