前言
这是打靶训练的第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
过去提权成功