前言
这是打靶训练的第19周,靶机下载。难度中。这次学到了redis的一个小技巧
信息搜集
nmap扫描结果
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
80/tcp open http Apache httpd 2.4.38 ((Debian))
访问网页,只有几张图片

点击图片,出现id字样,试了下没sql注入漏洞

查看源代码存在/js/main.js
function viewDetails(str) {
window.location.href = "opus-details.php?id="+str;
}
/*
var CryptoJS = require("crypto-js");
var decrypted = CryptoJS.AES.decrypt(encrypted, "SecretPassphraseMomentum");
console.log(decrypted.toString(CryptoJS.enc.Utf8));
*/
阅读源码得知,它使用了一个crypto-js加密库。并且使用aes解密一段密文,而密钥是SecretPassphraseMomentum。现在就差密文了。这段密文其实就是cookie。

即U2FsdGVkX193yTOKOucUbHeDp1Wxd5r7YkoM8daRtj0rjABqGuQ6Mx28N1VbBSZt。其实我感觉这里非常的不合理,就有种打cft的感觉了
使用codepen进行在线解密,获取明文为:auxerre-alienum##

提权
使用用户名auxerre,密码auxerre-alienum##成功登录。先查看下用户cat /etc/passwd

这个redis就很有意思了,redis有未授权漏洞,默认端口是6379。使用ss -pantu,redis服务运行中

redis开启中,输入以下命令得到root密码
redis-cli
info
KEYS *
get rootpass

很明显了root密码是m0mentum-al1enum##,su root过去提权成功
