WEB攻防【6】——Python考点/CTF与CMS/SSTI模板注入/PYC反编译

#知识点

1、PYC文件反编译

2、python-web-SSTI

3、SSTI模板注入利用分析

SSTI 就是服务器端模板注入

(Server-Side Template Injection)

当前使用的一些框架,比如python的flask,php的tp,java的spring等一般都采用成熟的MVC的模式,用户的输入先进入Controller控制器,然后根据请求类型和请求的指令发送给对应Model业务模型进行业务逻辑判断,数据库存取,最后把结果返回给View视图层,经过模板渲染展示给用户。

漏洞成因就是服务端接收了用户的恶意输入以后,未经任何处理就将其作为 Web 应用模板内容的一部分,模板引擎在进行目标编译渲染的过程中,执行了用户插入的可以破坏模板的语句,因而可能导致了敏感信息泄露、代码执行、GetShell 等问题。其影响范围主要取决于模版引擎的复杂性。

凡是使用模板的地方都可能会出现 SSTI 的问题,SSTI 不属于任何一种语言,沙盒绕过也不是,沙盒绕过只是由于模板引擎发现了很大的安全漏洞,然后模板引擎设计出来的一种防护机制,不允许使用没有定义或者声明的模块,这适用于所有的模板引擎。

SSTI会产生在哪些语言开发应用:

模板(网站显示的样式)通过更改模板更改页面的显示(数据内容不变更改样式)

SSTI漏洞就是模板相关的漏洞

ASPX .net语言(存在DLL反编译)

JAVA(class、jar的等封装好的文件需要进行反编译来查看源码)

Python也存在这种pyc文件

#PY反编译-PYC编译文件反编译源码

pyc文件py文件编译后生成的字节码文件(byte code),pyc文件经过python解释器最终会生成机器码运行。因此pyc文件是可以跨平台部署的,类似Java的.class文件一般py文件改变后,都会重新生成pyc文件)
真题附件:http://pan.baidu.com/s/1jGpB8DS

反编译平台:
https://tool.lu/pyc
http://tools.bugscaner.com/decompyle/

反编译工具:https://github.com/wibiti/uncompyle2

#SSTI入门-原理&分类s检测&分析&利用

1、什么是SSTI?有什么漏洞危害?
漏洞成因就是服务端接收了用户的恶意输入以后,未经任何处理就将其作为 web 应用模板内容的一部分,模板引擎在进行目标编译渲染的过程中,执行了用户插入的可以破坏板的语句,因而可能导致了敏感信息泄露、代码执行、Getshe11 等问题。其影响范围主要取决于模板引擎的复杂性。
2、如何判断检测ssTI漏洞的存在?
-输入的数据会被浏览器利用当前脚本语言调用解析执行   {{中间的会被当成python代码执行}}


3、SSTI会产生在那些语言开发应用?
-见上图
4、sSTI安全问题在生产环境那里产生?

-存在模版引用的地方,如404错误页面展示

-存在数据接收引用的地方,如模版解析获取参数数据

#SSTI考点-CTE靶场-[Westexncr]shrine
1、源码分析ssTI考点
2、测试判断sSTI存在
3、分析代码过滤和FLAG存储
4、利用flask两个函数利用获取
https://blog csdn.net/houyanhua1/axticle/details/85470175ux1 fox()函数是用于构建操作指定函数的URL
get_flashed_messages()函数是获取传递过来的数据
/shrine/{(url forglobals_)}/shrine/{{url for _globals_['current_app'].config)}/shrine/{{get flashed messages.globals ))/shxine/{iget _flashed messages,_globals_['current_app'].config))
#SSTI考点-CMS源码-MACCMS 8.x执行
Payload:index.php?m=vod-searcháwd={if-dddd:phpinfo ()}{endi f-dddd
1、根据wd传递的代码找指向文件
2、index->vod->tpl->ifex->eva]
3、构造Payload带入:fex并绕过后执行

参考文章

1. SSTI(模板注入)漏洞(入门篇) - bmjoker - 博客园 (cnblogs.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/755182.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【知识学习】Unity3D中Post Processing的概念及使用方法示例

Unity3D中的Post Processing(后处理)是一种在渲染管线的最后阶段对最终图像进行处理的技术。它允许开发者添加各种视觉效果,如模糊、颜色分级、镜头光晕等,以增强场景的视觉表现力。 Post Processing 的基本概念 Post Processin…

Unity【GUI】基础知识

什么是UI系统 Ul是UserInterface(用户界面)的简称系统的主要学习内容 1.UI控件的使用 2.U控件的事件响应 3.U的分辨率自适应文章目录 基础知识1、工作原理和主要作用2、基本控件1、文本和按钮控件2、多选框和单选框3、输入框和拖动条4、图片绘制和框 3、复合控件1、工具栏和…

[图解]SysML和EA建模住宅安全系统-03-现有运营领域-图标表示结构

1 00:00:01,590 --> 00:00:04,260 接下来,我们来看图17.8 2 00:00:05,590 --> 00:00:08,430 图17.8跟图17.7是一样的 3 00:00:08,440 --> 00:00:14,610 它也是描述运营领域现状的一个BDD 4 00:00:16,150 --> 00:00:18,340 但是它用图标来表示 5 00:…

2000-2022年 省、市、县三级逐年归一化植被指数NDVI

NDVI(归一化植被指数)是一种重要的遥感指数,广泛应用于植被生长状况的监测和评估。以下是对省、市、县三级逐年归一化植被指数NDVI数据的介绍: 数据简介 定义:NDVI是一种基于植被在红光和近红外波段反射特性的遥感指…

财务RPA与数字化转型——财务RPA如何促进企业的数字化转型

在数字化时代,企业面临着推动创新、提高效率的巨大挑战。RPA财务机器人作为智慧财务不可或缺的新动能,不仅能够优化财务流程,还能够在整个企业中引领数字化变革。本文金智维将深入探讨财务RPA如何成为企业数字化转型的战略利器,为…

WordPress Quiz Maker插件 SQL注入漏洞复现(CVE-2024-6028)

0x01 产品简介 WordPress Quiz Maker插件是一款功能强大的测验生成工具,旨在帮助用户轻松、快速地构建复杂的测验和考试。插件支持多种问题类型,包括单选框(MCQ)、复选框(MCQ)、下拉列表(MCQ)、文本、短文本、数字、日期等。还支持横幅(HTML)显示信息性消息、填空题…

Java应用cpu过高如何分析

1. 查看进程cpu使用情况 top 2. 根据PID查看指定进程的各线程的cpu使用情况 top -H -p PID

使用 Compose Multiplatform Media Player 实现跨平台媒体播放

使用 Compose Multiplatform Media Player 实现跨平台媒体播放 在跨平台开发中,媒体播放功能是一个常见且重要的需求。Compose Multiplatform Media Player 是一个专为 Compose Multiplatform 项目设计的强大媒体播放器库,它可以在 iOS 和 Android 平台上无缝实现视频播放、…

小程序驾校预约系统的设计

管理员账户功能包括:系统首页,个人中心,学员管理,教练管理,驾校信息管理,驾校车辆管理,教练预约管理,考试信息管理 微信端账号功能包括:系统首页,驾校信息&am…

python--基础篇--正则表达式--py脚本--题目解答

文章目录 验证输入用户名和QQ号是否有效并给出对应的提示信息从一段文字中提取出国内手机号码替换字符串中的不良内容拆分长字符串 验证输入用户名和QQ号是否有效并给出对应的提示信息 """ 验证输入用户名和QQ号是否有效并给出对应的提示信息要求:用…

智能农业技术:物联网、无人机与机器人引领的绿色革命

在这个信息化与智能化并行的时代,农业——这个最古老的人类产业,正经历一场前所未有的科技变革。物联网(IoT)、无人机(UAV)和机器人技术的深度融合,正逐步构建起一个高效、精准、可持续的现代农…

华为HCIP Datacom H12-821 卷18

1.问答题 (拖拽题)如图所示,请根据 DHCPv6 的四歩交互流程, 将报文按照顺序拖拽到相应的位置 参考答案: 1--solicit ,2--advertise , 3--equest, 4--reply 解析: DHCPv6的报文交互流程,类似于V4,先组播发现,服

静态链表详解(C语言版)

顺序表和链表的优缺点 顺序表和链表是两种基本的线性数据结构,它们各自有不同的优缺点,适用于不同的应用场景。 顺序表(Sequential List,通常指数组) 优点: 随机访问:可以通过索引快速访问任…

【前端】简易化看板

【前端】简易化看板 项目简介 看板分为三个模块,分别是待办,正在做,已做完三个部分。每个事件采取"卡片"式设计,支持任务间拖拽,删除等操作。 代码 import React, { useState } from react; import { Car…

如何有效保护生物医药企业隔离网数据导出的安全性?

生物医药企业的核心数据保护至关重要,企业为了保护内部的核心数据,会将网络进行物理隔离,将企业内⽹与外⽹隔离。⽹络隔离后,仍存在重要数据从内网导出至外网的隔离网数据导出需求。以下是一些需要特别保护的核心数据类型&#xf…

【图论 树 深度优先搜索】2246. 相邻字符不同的最长路径

本文涉及知识点 图论 树 图论知识汇总 深度优先搜索汇总 LeetCode 2246. 相邻字符不同的最长路径 给你一棵 树(即一个连通、无向、无环图),根节点是节点 0 ,这棵树由编号从 0 到 n - 1 的 n 个节点组成。用下标从 0 开始、长度…

Python学习笔记五

1.当循环执行完整后&#xff0c;就会执行else里面的代码 s0 i1 while i<100:sii1 else:print(s) 当循环不完整就会如下 s0 i1 while i<100:sii1if s6:break; else:print(s) 2. 实现密码匹配&#xff0c;可以输入三次&#xff0c;若输入三次错误会退出&#xff0c;或者输…

Reactor模型:网络线程模型演进

一&#xff0c;阻塞IO线程池模型&#xff08;BIO&#xff09; 这是传统的网络编程方案所采用的线程模型。 即有一个主循环&#xff0c;socket.accept阻塞等待&#xff0c;当建立连接后&#xff0c;创建新的线程/从线程池中取一个&#xff0c;把该socket连接交由新线程全权处理。…

【C++课程设计——演讲比赛系统】

文章目录 前言一、演讲比赛程序需求二、每个功能模块的实现1. 创建管理类(.h文件)2.1. 创建管理类(.cpp文件)3.创建参赛选手类(.h)4.将整体逻辑进行封装 测试项目总结 前言 在学习完C的stl容器后&#xff0c;我们来写一下小项目对其进行应用&#xff01; 项目名称为&#xff1…

常见的反爬手段和解决思路(爬虫与反爬虫)

常见的反爬手段和解决思路&#xff08;爬虫与反爬虫&#xff09; 学习目标1 服务器反爬的原因2 服务器长反什么样的爬虫&#xff08;1&#xff09;十分低级的应届毕业生&#xff08;2&#xff09;十分低级的创业小公司&#xff08;3&#xff09;不小心写错了没人去停止的失控小…