OSCP靶机21--potato

信息收集

端口、服务、版本、目录爆破

-A了解端口、服务、寻找突破点

80端口先访问一下:

看源码、目录爆破

dirsearch爆不出东西、就换gobuter再爆一遍

目前两个点:FTP、web页面

nikto先扫描:

连接ftp看看:

空账户名&密码不行、anonymous&anonymous行

全给他下载下来看看有什么

一个html代码&运行逻辑??

分析代码--》账户名有个admin,密码是potato。

这个没看出来有什么

nikto没扫出来什么。

试试登录:

没登录成功:

但是bad user这些关键词--》index.php.bak 应该是这个登录页面的代码。直接访问http://172.16.33.43/admin/dashboard.php 是不行的,我本来是用burp爆破,但是没有成果。所以参考了wp。这里的登陆页面绕过和scrmp函数有关。

涉及到新知识点:PHP类型转换机制的漏洞---PHP Magic Tricks: Type Juggling[3]

(让我偷几张图贴在这,你们先看看原理)

核心原理在于 ​​PHP 的弱类型特性与 strcmp() 函数对非字符串输入的异常处理​​。也就是说,strcmp函数,当传入非字符串类型(如数组)时,函数会报错,但在 ​​PHP 5.3 之前的版本中​​,错误处理逻辑会错误地 ​​返回 0​​(即判定为相等)。

则$pass的判断是true,整个if表达式被满足。

然后为什么输入 password[]= 会被当成数组?

也就是 password[]= 因为参数password同名,被解析为数组。我估计这个中括号里边默认为0,所以,array(0 => ' ') 。重点是同名参数,=什么无所谓。

好,应用到这个靶场上:

上效果图:

聊下一话题:

5个选项挨个点一下,看起来这俩最有希望:

Logs:

可能有文件包含

可能有命令注入

LFI

先从LFI的角度来:

三个log文件的请求都是一样的,只是文件名不一样,所以需要一个好的爆破字典。(这靶场也是挺奇怪,一会行一会儿不行的)

有个账户密码存储在里边:

好了,连接过去就行。

再看命令注入怎么来的。

命令注入

发现文件包含的同时,也可以查看/dashboard.php文件,代码审计后

存在命令注入

于是:

边界突破成功

提权

sudo、linpeas、su root(用空密码 or 空格)

sudo -l

所以尝试在/notes/下,用nice运行反弹脚本:

直接下载到notes下不行呢~~~

那试试tmp:

这样可行,但是还是webadmin(普通)的权限。

sudo以后就ok了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值