Wings_Up
- 关注
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9

练习记录
连接靶场获取ip:
扫一下端口:
将mango.htb添加到hosts后,访问一下80和443:
此时查看浏览器证书信息可获得该站点的另外一个子域名:
访问该子域名:
在对该子域名以及mango.htb,https://mango.htb进行目录扫描后结果如下:
翻看后在http://staging-order.mango.htb /vendor/composer/LICENSE 中发现该页面使用的是mongo数据库。而这个数据库存在一种特殊的sql注入----nosql注入。关于nosql注入的详情可参考:nosql注入尝试一下:
啥也不是。但是至少证明了此处存在该漏洞。而且通过在username或password后添加逻辑运算符后可直接枚举用户名和密码。后在多方查找下,终于在github中找到了一个脚本,链接如下:
enumeration_username-password
将脚本拿过来,执行:
所以现在我们有了两个用户名:mango,admin和两个密码:h3mXK8RhU~f{]f5H和t9KcS3>!0B#2。尝试登录以确定对应关系:
admin:t9KcS3>!0B#2 :
所以账号密码对应情况为:
admin:t9KcS3>!0B#2
mango:h3mXK8RhU~f{]f5H
而之前我们了解到该ip还开放了ssh端口,所以我们可以用这两组账号密码尝试登录ssh:
发现只有mango可以登录。
先看看该主机存在的用户:
发现其存在admin、mango、root三个账户。
当我尝试切换到admin目录去读取其中一个flag时发现其报错权限不允许:
所以只好先进行提权:
先尝试su切换到admin账户:
成功。读取第一个flag:
查看可利用的高权限账户或命令:
不让用sudo。用find找找有suid属性的文件:
本来想用pkexec提权,但是很可惜这个机器上没有gcc环境,只好作罢。再次审视后发现在这些文件中存在一个奇怪的jjs,一番搜索后得知,jjs是一个用来 调用Nashorn引擎 的Java工具。关于其详细利用手法可参考如下内容:jjs利用手法
实际上,它允许我运行 Java 命令,并且由于 SUID,它们以 root 身份运行。
所以我们可以将一些特殊的东西,比如ssh key之类的写入特定地方从而实现root远程ssh登录。
登陆成功。读取flag:
搞定
总结
首先是前台登录页,在尝试过弱口令和万能密码后我本来是不报太大希望的,本来想着挂个爆破看看,现在想来得亏没去爆破,要不到猴年马月也搞不出来。
这个前台登录页让我学到了mongodb的nosql注入的一些原理手法以及一些延申应用。
其次是账户密码的通用性,登录页的账户密码也可能成为ssh连接的账户密码。
再者就是了解了jjs的可利用内容。当jjs在拥有suid属性后它可以完成读写文件、文件上传下载、反弹shell等高权限操作。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)