我已经建立了渗透测试虚拟机,并试图进行特权升级。
我当前正在尝试读取文件。我无权访问文件所在的用户的主目录,但我有权将/usr/bin/perl
作为user/admin
运行。
我的理解是,我可以使用授予我的perl权限,运行以下命令来基本整理文件并查看其中的内容,但它似乎不起作用,也没有返回结果
james@linuxtest:~$ sudo -l
在Linuxtest上为James匹配默认项:
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''
我希望结果是文件的内容,或者至少是某种错误,但没有结果。我在这里犯了一个愚蠢的错误吗?
答案 0 :(得分:4)
我认为您想要
sudo -u james2 perl -e 'print `cat /home/james/test.txt`'
反引号用于执行shell命令并捕获其输出。
那是一种怪异的方式
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