Использование fopen, когда к входу добавлено расширение

Для науки.

Скажем, у меня есть следующий код:

<?php
$filename = $_GET['filename'] . '.csv';
$handle = @fopen($filename);

Мы знаем, что эксплойт с нулевым байтом давно ушел, но возможно ли обойти вышеупомянутое добавление.csv, чтобы прочитать файл с другим расширением? Существуют очень творческие души.

Чтение удаленных файлов работает, имя файла = http://example.com/some.csv (.csv добавляется автоматически).

1 ответ

Решение

Если вы запрашиваете http://example.com/some.pdf?csv, fopen постараюсь собрать pdf файл...

Скорее используйте регулярное выражение для проверки $_GET (вы всегда должны проверять свои данные):

/(\.csv)$/g поможет вам проверить, является ли расширение .csv

Другие вопросы по тегам