OSCP Potato靶机 超详细教学

打点

nmap直接开扫
-p- 全端口扫描
-A 表示 aggressive,可以理解为全面扫描
在这里插入图片描述

80 http协议
22 ssh协议
2112 FTP协议
2112放了一个FTP,可以通过默认的用户名登录进去,用户名为anonymous 密码随便填
由于不是默认的端口,所以ftp登录时需要指定一下端口,命令为
ftp -p 192.168.54.101 2112
在这里插入图片描述

230说明匿名登录成功
binary 以二进制模式传输文件,保证文件完整
get命令下载文件到桌面
在这里插入图片描述

一段php代码,应该是登录页面的备份,固定了用户名是admin
另外一个文件是
在这里插入图片描述

目前的线索就到这里,然后去80看看,这个
在这里插入图片描述

源代码没啥东西,扫扫目录,有个登录框
在这里插入图片描述

试试爆破,上面有个用户名来着,爆破失败了。
在这里插入图片描述

回到bak文件,分析一下(我问ai的)
在这里插入图片描述

● 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
在这里插入图片描述

意思就是在passwrd后面加[],就能绕过这个登录。
在这里插入图片描述

放包,然后就登录成功了
在这里插入图片描述

只有log这里能点,抓个包看看
在这里插入图片描述

看到file,想到文件读取漏洞LFI(不会就百度)
在这里插入图片描述在这里插入图片描述

成功读取,有一个用户名为webadmin,密码为 1 1 1webadmin$3sXBxGUtDGIFAcnNTNhi6,放cmd5解密,要购买才能看。
在这里插入图片描述

现在就知道了,有一个用户名为webadmin,密码为dragon可以拿去SSH登录
在这里插入图片描述

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

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

提权

接下来就是提权,先sudo -l
它会显示用户可以执行哪些命令以及可以以哪些用户身份执行这些命令。其中,sudo代表“superuser do”,允许用户以其他用户(通常是root用户)的身份执行命令,而-l选项表示“list”。
在这里插入图片描述

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

这就尴尬了,没权限呀,可能在webadmin用户下有权限
在这里插入图片描述

还真是!但是现在文件就不在notes下了,这时候有个有意思的操作,可以把命令改成
bin/nice /notes/…/home/webadmin/shell1.sh
要先给shell1.sh权限,chmod +x shell1.sh
大概意思就依旧在notes目录下,但是绝对路径还是在webadmin下
在这里插入图片描述

完结撒花!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值