Как прочитать файл, используя cat с параметрами Perl -e? - PullRequest
0 голосов
/ 14 июня 2019

Я настроил виртуальную машину для тестирования на проникновение и пытаюсь повысить привилегии.

Я сейчас пытаюсь прочитать файл. У меня нет доступа к домашнему каталогу пользователя, в котором находится файл, но у меня есть права на запуск /usr/bin/perl как user/admin.

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

james@linuxtest:~$ sudo -l

Соответствующие записи по умолчанию для james на linuxtest:

env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

Пользователь james может запускать следующие команды на linuxtest:

(james2) /usr/bin/perl

james@linuxtest:~$ sudo -u james2 perl -e 'print 'cat /home/james/test.txt''

Я ожидал, что результатом будет содержимое файла или, по крайней мере, какая-то ошибка, но результата нет. Я делаю глупую ошибку здесь?

1 Ответ

4 голосов
/ 14 июня 2019

Я думаю, что вы хотели

sudo -u james2 perl -e 'print `cat /home/james/test.txt`'

Обратные галочки используются для выполнения команды оболочки и захвата ее вывода.

Это странный способ сделать

sudo -u james2 perl -e 'system "cat /home/james/test.txt"'

это странный способ сделать

sudo -u james2 cat /home/james/test.txt

А так как вы root, это странный способ сделать

cat /home/james/test.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...