ctfshow-web愚人杯-eazy
ctfshow-web-eazy_ssti
题目截图:

题目简述:
题目给了部分源码,并且只有简单的过滤
打开题目发现什么都没有,看一下源码,发现了app.zip。(这里说的12都会 暗示F12)

源码如下:
from flask import Flask from flask import render_template_string,render_template app = Flask(__name__) @app.route('/hello/') def hello(name=None): return render_template('hello.html',name=name) @app.route('/hello/') def hellodear(name): if "ge" in name: return render_template_string('hello %s' % name) elif "f" not in name: return render_template_string('hello %s' % name) else: return 'Nonononon'这段代码是一个简单的 Flask 应用,它定义了两个路由: /hello/:可以不传递参数,调用 hello 函数渲染 hello.html 模板。 /hello/:需要传递一个参数 name,调用 hellodear 函数,根据 name 的内容返回不同的结果。 这里头昏了,一直在尝试 url/hello?name= 一直404 还以为是思路不对,仔细查看源码才发现。。。。





绕过思路 :
base64+管道符
- echo "Y2F0IC9mKg==":echo 是一个用于输出字符串的命令,这里它会把字符串 "Y2F0IC9mKg==" 输出到标准输出。
- |:管道符号,它的作用是将前一个命令的输出作为后一个命令的输入。
- base64 -d:base64 是用来进行 Base64 编码和解码的工具,-d 选项表示进行解码操作。所以这部分命令会对 echo 输出的 Base64 编码字符串 "Y2F0IC9mKg==" 进行解码。
- |:管道符号,它的作用是将前一个命令的输出作为后一个命令的输入。
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。