OSCP Potato靶机 超详细教学

打点

nmap直接开扫
-p- 全端口扫描
-A 表示 aggressive,可以理解为全面扫描
OSCP Potato靶机 超详细教学_第1张图片

80 http协议
22 ssh协议
2112 FTP协议
2112放了一个FTP,可以通过默认的用户名登录进去,用户名为anonymous 密码随便填
由于不是默认的端口,所以ftp登录时需要指定一下端口,命令为
ftp -p 192.168.54.101 2112
OSCP Potato靶机 超详细教学_第2张图片

230说明匿名登录成功
binary 以二进制模式传输文件,保证文件完整
get命令下载文件到桌面
OSCP Potato靶机 超详细教学_第3张图片

一段php代码,应该是登录页面的备份,固定了用户名是admin
另外一个文件是
OSCP Potato靶机 超详细教学_第4张图片

目前的线索就到这里,然后去80看看,这个
OSCP Potato靶机 超详细教学_第5张图片

源代码没啥东西,扫扫目录,有个登录框
OSCP Potato靶机 超详细教学_第6张图片

试试爆破,上面有个用户名来着,爆破失败了。
OSCP Potato靶机 超详细教学_第7张图片

回到bak文件,分析一下(我问ai的)
OSCP Potato靶机 超详细教学_第8张图片

● if ($_GET[‘login’] === “1”) { … }:首先检查 G E T [ ′ l o g i n ′ ] 是否等于 " 1 " 。这意味着此代码仅在 U R L 中 l o g i n 参数的值为 1 时执行(例如: e x a m p l e . c o m ? l o g i n = 1 )。● s t r c m p ( _GET['login'] 是否等于 "1"。这意味着此代码仅在 URL 中 login 参数的值为 1 时执行(例如:example.com?login=1)。 ● strcmp( GET[login]是否等于"1"。这意味着此代码仅在URLlogin参数的值为1时执行(例如:example.com?login=1)。strcmp(_POST[‘username’], “admin”) == 0:使用 strcmp() 函数比较用户输入的用户名(通过 P O S T [ ′ u s e r n a m e ′ ] 获取)和预设的用户名(本例中为 " a d m i n " )。如果它们相等, s t r c m p ( ) 函数将返回 0 。● s t r c m p ( _POST['username'] 获取)和预设的用户名(本例中为 "admin")。如果它们相等,strcmp() 函数将返回 0。 ● strcmp( POST[username]获取)和预设的用户名(本例中为"admin")。如果它们相等,strcmp()函数将返回0strcmp(_POST[‘password’], p a s s ) = = 0 :与第二步类似,该部分代码使用 s t r c m p ( ) 函数比较用户输入的密码和预设的密码。如果它们相等, s t r c m p ( ) 函数将返回 0 。● i f ( s t r c m p ( pass) == 0:与第二步类似,该部分代码使用 strcmp() 函数比较用户输入的密码和预设的密码。如果它们相等,strcmp() 函数将返回 0。 ● if (strcmp( pass)==0:与第二步类似,该部分代码使用strcmp()函数比较用户输入的密码和预设的密码。如果它们相等,strcmp()函数将返回0if(strcmp(_POST[‘username’], “admin”) == 0 && strcmp($_POST[‘password’], $pass) == 0) {…}:最后将前面两个条件组合,使用 && 操作符(逻辑与操作)。这意味着如果用户名和密码都正确,则整个条件为真,if 语句中的代码将被执行。
既然爆破不行,那就只能想着绕过strcmp函数,百度!
有这篇文章,https://www.cnblogs.com/websec/p/7099687.html
OSCP Potato靶机 超详细教学_第9张图片

意思就是在passwrd后面加[],就能绕过这个登录。
OSCP Potato靶机 超详细教学_第10张图片

放包,然后就登录成功了
OSCP Potato靶机 超详细教学_第11张图片

只有log这里能点,抓个包看看
OSCP Potato靶机 超详细教学_第12张图片

看到file,想到文件读取漏洞LFI(不会就百度)
OSCP Potato靶机 超详细教学_第13张图片OSCP Potato靶机 超详细教学_第14张图片

成功读取,有一个用户名为webadmin,密码为 1 1 1webadmin$3sXBxGUtDGIFAcnNTNhi6,放cmd5解密,要购买才能看。
OSCP Potato靶机 超详细教学_第15张图片

现在就知道了,有一个用户名为webadmin,密码为dragon可以拿去SSH登录
OSCP Potato靶机 超详细教学_第16张图片

然后就有了一个低权限的shell
在这里插入图片描述

可以查看第一个flag
在这里插入图片描述

提权

接下来就是提权,先sudo -l
它会显示用户可以执行哪些命令以及可以以哪些用户身份执行这些命令。其中,sudo代表“superuser do”,允许用户以其他用户(通常是root用户)的身份执行命令,而-l选项表示“list”。
OSCP Potato靶机 超详细教学_第17张图片

在所有用户(ALL)和所有组(ALL)的权限下,他们可以使用 /bin/nice 命令运行 /notes/* 目录中的所有程序。
/bin/nice 是一个 Linux 命令,用于调整程序的优先级。/notes/* 表示 /notes/ 目录下的所有文件。所以,这意味着 webadmin 可以更改 /notes/ 目录下所有程序的优先级。所以提权思路是,在notes目录下写入一个shell,再利用命令 、bin/nice /notes/shell 就能提权成功啦
太保姆了,兄弟们!!!
OSCP Potato靶机 超详细教学_第18张图片

这就尴尬了,没权限呀,可能在webadmin用户下有权限
OSCP Potato靶机 超详细教学_第19张图片

还真是!但是现在文件就不在notes下了,这时候有个有意思的操作,可以把命令改成
bin/nice /notes/…/home/webadmin/shell1.sh
要先给shell1.sh权限,chmod +x shell1.sh
大概意思就依旧在notes目录下,但是绝对路径还是在webadmin下
OSCP Potato靶机 超详细教学_第20张图片

完结撒花!!!

你可能感兴趣的:(OSCP,php,服务器,linux,安全)