OSCP靶场81--Cockpit(PG)
主站 分类 云安全 AI安全 开发安全 2025-11-11 06:18:30 Author: www.freebuf.com(查看原文) 阅读量:1 收藏

freeBuf

主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

攻击链

SQL注入登录框---获得登录凭据,登进服务器web端---tar提权

知识点

SQL注入

密码爆破

sudo提权

难点

中等(偏向简单)

过程

突破边界

1762774420_6911cd9463218d8737855.png!small?1762774420731

这个页面,我不理解为什么有的payload进去是Dashboard界面,有的就是/blocked.html界面。

1762774571_6911ce2b384ab6ebfcdaf.png!small?1762774572409

爆破出来的结果也很离谱,用这些账户登进去全是:

1762774628_6911ce64c3260be724a37.png!small?1762774629233

喜庆不?就这句子还是一个一个往外蹦字母。我以为不管输入什么都是这个界面,就是默认界面兔子洞,事实证明确实要多尝试。目前为止,网页登录框的可能性有爆破账户、SQL注入、信息泄露、CVE漏洞(文件上传、RCE等)(无需认证的)

解惑:

能跳到blocked界面是因为password字段有sleep

1762829425_6912a4715f1af22c2786c.png!small?1762829424102

不区分大小写,检查sleep这个单词

那么让我这个菜狗疑惑的就又来了。。

1762775008_6911cfe031acfbab3e84d.png!small?1762775008696

用户名和密码都用admin'or 1=1 # 可以登录

1762775159_6911d0778857746aa72a5.png!small?1762775159923

随便输入账户,显示不对

--》有sql注入

要确认注入点是哪个字段或者俩字段都有。

1762775700_6911d294954f6857eaf55.png!small?1762775700955

username字段是sql注入。那这个时候不应该挨个爆库名、表名、字段值,获得正确用户名和密码再登录吗?但我觉得登录进去是默认页面啊  有正确账户也没用啊 (我的意思是我会放弃这个点,仅找出数据)

慢着,可能只要输入admin等关键词就会触发这个保护页面?所以payload只要带这类关键词就失败?

1762827691_69129dabe30da9dbc3397.png!small?1762827690696

事实证明不是只要带admin这个词就失败。所以这么推下来我依然认为是默认页面。

到这一步只能确定有sql注入,先尝试注入,应该有8090端口的数据库。

union Select联合查询,应该是两个字段。

admin'  union select 1,2 #

1762776019_6911d3d348da7782591c4.png!small?1762776019633

admin'  union select 1,2,3,4,5 #

你猜怎么着?就用这个payload水灵灵的登进去了,我都不知道为什么。

我估计username和password在同一句。所以后者不对也没影响,主要把前者校验对即可。

1762827670_69129d968fb94f8e9fcef.png!small?1762827669252

1762827618_69129d62277e944a029a7.png!small?1762827616894

源码里确实在同一句。

应该这个靶场的设计就是在手工出数据的时候就登录进去。

我不理解为什么有的也是blocked页面,有的是就能正经登进去。可能要分析一遍这站点的源码才知道。

1762776479_6911d59fa1c7401ba93ad.png!small?1762776480625

总结:

常用默认密码尝试登录失败

爆破出疑似密码,显示blocked页面

没招了,尝试sql注入,有,确定注入点

常规注入过程中就已经登录

提权

1762760740_69119824d506f7e84c053.png!small?1762760741569

1762761681_69119bd19f6f7a3159b83.png!small?1762761682483

我其实不知道这个怎么提权,把tmp目录下的所有文件压缩? 在我的脑壳里没有和提权的关系。

sudo tar -cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/sh

怎么跟这个结合起来,变通这个用来提权。

文件是有的,关键是后边俩参数和*的关系,问了AI,可以将这俩参数数值变成俩文件的文件名(空文件)。在执行压缩任务时,直接运行了这俩参数,完成提权。

1762761911_69119cb7aa48c16e834a4.png!small?1762761912153

1762761955_69119ce33ebc6f537f68b.png!small?1762761955800

1762761991_69119d07de00c2b31a0ac.png!small?1762761992382

再创建另一个文件,

1762762164_69119db4245da79c244d2.png!small?1762762164399

报错。

1762762650_69119f9ab05d0966c2312.png!small?1762762651105我尝试了其他方法,但不成功。问了AI,可以改成执行文件。但我认为主要是/bin/bash的问题,因为

echo "" > "--checkpoint-action=exec shell.sh"

echo同样没有这个选项。

可把root的命令解释器复制过来,在赋予s执行特权。

echo "cp /bin/bash /tmp/abash ; chmod +s /tmp/abash" > shell.sh

1762762877_6911a07deda0c5bee217c.png!small?1762762879094

perfect!

执行试试!

1762762950_6911a0c6532919073ccfd.png!small?1762762950727

1762763124_6911a174827f8fbc698d1.png!small?1762763125014

没有。。。

1762763578_6911a33a5ed80da1f28c7.png!small?1762763578602

echo "" > "--checkpoint-action=exec=/bin/bash shell.sh"

无意中探索出新玩法,

1762766080_6911ad00a9bc1ae186c83.png!small?1762766081141

所以之前直接提权没有成功是因为命令里含有/bin/bash,起了冲突。改成/bin/sh即可。

通过脚本提权的结果如下:

1762766686_6911af5e39cf00e68070a.png!small?1762766687005

1762766695_6911af67d2eabb871a07c.png!small?1762766696285

已在FreeBuf发表 0 篇文章

本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)


文章来源: https://www.freebuf.com/articles/system/456447.html
如有侵权请联系:admin#unsafe.sh