需要获得root用户的权限:
先进行信息搜集:
获得了靶机的IP:192168.13.141
获得了kali的ip:192.168.13.138
查看一下靶机的端口信息:
开启了22的tcp端口: ssh服务,
80的TCP端口 : http服务
可以尝试搜索一下靶机的网站信息(因为开启了http):
可以看到:http://192.168.13.141,访问它:
搜索:发现界面如下:
查看源代码:
可以看见在头文件中存在一个js文件:点击后:
是一个js代码:
函数的目的是将浏览器的 URL 地址改为"opus-details.php?id="+str。通过拼接字符串,将str参数作为查询参数传递给目标 URL。
关于您注释掉的部分代码,它似乎涉及到使用 CryptoJS 库进行加密和解密操作。这段代码使用了 AES 解密算法,使用了一个名为 "SecretPassphraseMomentum" 的密钥。然后通过 console.log 打印解密后的结果。
可以看到id传送的值输出到了桌面加上是一个js代码,貌似这个存在xss漏洞:
可以尝试以下:
发现:
可以得到存在xss漏洞,读取以下cookie:
获得cookie:
是一个aes加密代码,进行解码,知道解码的密钥 SecretPassphraseMomentum
得到解密的代码:
auxerre-alienum##
是ssh的密码,进行连接:
连接成功查看以下当前用户:
查看当前文件:
但是这个flag不对因为不是root下的文件:
需要密码:
看来还是不对,需要获得root的密码,或者进行夺权
尝试查看s权限的代码:
没有发现可疑的文件,都很正常
查看了大佬的资料,他是使用了 ss -nltup 是一个在 Linux 系统中查询网络连接和监听端口信息的命令
可以看到68 22 80 6379端口
端口号 6379 是 Redis 数据库的默认端口号
看来这个用户因该是使用;redis来储存数据了:
连接redis数据库:
搜索以下数据库中所有的键名:
获得看用户名,只有这一个,查询他的密码,使用get获得rootpass的键值:
获得密码:m0mentum-al1enum##
(退出:exit)
可以尝试登录root:
获得flag,还是root用户下