Открытие файла *с частично неизвестным именем файла* в исполняемом каталоге

Вам нужно открыть соединение для чтения и записи, используя <>, и, возможно, отправить еще несколько заголовков, а затем прочитать ответ. Например,

exec 5<>/dev/tcp/yahoo.com/80
echo -e "GET / HTTP/1.1\r\nHost: yahoo.com\r\nContent-Length: 0\r\n\r" >&5
# get reply:   HTTP/1.1 301 Moved Permanently^M
cat <&5

Я использовал произвольный файловый дескриптор 5 только для того, чтобы не затирать стандартные 0, 1 и 2. С yahoo вам не нужен заголовок длины содержимого, но другие сайты могут не отвечать, пока не получат дополнительные данные. Yahoo требует заголовок хоста, иначе вы получите ответ HTTP/1.1 400 Host Header Required.

1
28.09.2019, 03:24
1 ответ

Нет ни одного по замыслу.

Вы можете попробовать цикл forдля проверки существования всех таких файлов, так как вы знаете, что это только цифры, и вы знаете, как долго имя. Но вам придется применить грубую силу.

Правильным способом было бы изменить разрешения для каталога, чтобы получить разрешения на чтение, или попросить системного администратора сделать это за вас.

См. также:

Ответить на -можно в комментариях:

The thing is it does not really matter which file is opened because all files are the same (content wise) and they all start with an f. As long as any file starting with f is opened its good. is there any command which allows to leave part of the file name blank (*) ?

Существует множество таких команд и функций (вероятно, вы имеете в виду "файловые глобы" ), и все из них зависят от возможности перечислить содержимое этого каталога, для которого требуются права на чтение.

Итак, нет, кроме как:

  1. Изменение прав доступа к каталогу (, для чего требуются права root,или что вы являетесь владельцем этого каталога );
  2. Узнать имя от кого-то, кто его знает (например. отправить электронное письмо системному администратору Пита ); или
  3. Использование грубой силы (, т. е. простое угадывание имен, пока вы не получите правильное ).
0
28.01.2020, 00:00

Теги

Похожие вопросы