攻击链
SQL注入登录框---获得登录凭据,登进服务器web端---tar提权
知识点
SQL注入
密码爆破
sudo提权
难点
中等(偏向简单)
过程
突破边界

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

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

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

不区分大小写,检查sleep这个单词
那么让我这个菜狗疑惑的就又来了。。

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

随便输入账户,显示不对
--》有sql注入
要确认注入点是哪个字段或者俩字段都有。

username字段是sql注入。那这个时候不应该挨个爆库名、表名、字段值,获得正确用户名和密码再登录吗?但我觉得登录进去是默认页面啊 有正确账户也没用啊 (我的意思是我会放弃这个点,仅找出数据)
慢着,可能只要输入admin等关键词就会触发这个保护页面?所以payload只要带这类关键词就失败?

事实证明不是只要带admin这个词就失败。所以这么推下来我依然认为是默认页面。
到这一步只能确定有sql注入,先尝试注入,应该有8090端口的数据库。
union Select联合查询,应该是两个字段。
admin' union select 1,2 #

admin' union select 1,2,3,4,5 #
你猜怎么着?就用这个payload水灵灵的登进去了,我都不知道为什么。
我估计username和password在同一句。所以后者不对也没影响,主要把前者校验对即可。


源码里确实在同一句。
应该这个靶场的设计就是在手工出数据的时候就登录进去。
我不理解为什么有的也是blocked页面,有的是就能正经登进去。可能要分析一遍这站点的源码才知道。

总结:
常用默认密码尝试登录失败
爆破出疑似密码,显示blocked页面
没招了,尝试sql注入,有,确定注入点
常规注入过程中就已经登录
提权


我其实不知道这个怎么提权,把tmp目录下的所有文件压缩? 在我的脑壳里没有和提权的关系。
sudo tar -cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/sh
怎么跟这个结合起来,变通这个用来提权。
文件是有的,关键是后边俩参数和*的关系,问了AI,可以将这俩参数数值变成俩文件的文件名(空文件)。在执行压缩任务时,直接运行了这俩参数,完成提权。



再创建另一个文件,

报错。
我尝试了其他方法,但不成功。问了AI,可以改成执行文件。但我认为主要是/bin/bash的问题,因为
echo "" > "--checkpoint-action=exec shell.sh"
echo同样没有这个选项。
可把root的命令解释器复制过来,在赋予s执行特权。
echo "cp /bin/bash /tmp/abash ; chmod +s /tmp/abash" > shell.sh

perfect!
执行试试!


没有。。。

echo "" > "--checkpoint-action=exec=/bin/bash shell.sh"
无意中探索出新玩法,

所以之前直接提权没有成功是因为命令里含有/bin/bash,起了冲突。改成/bin/sh即可。
通过脚本提权的结果如下:


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



