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

news2024/12/22 19:48:55

#知识点

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)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2, 搭建springCloud 项目 测试demo

上篇文章 新建了父依赖服务,这篇文章就建两个demo测试服务。 因为后面需要做服务间的通讯测试,所以至少需要建两个服务 建个子模块 同样的方式建连个demo服务 给java 和resources目录添加属性 在resources目录下建一个applications.yml文件,…

如何评估CRM客户系统的功能是否满足助贷机构的需求?

评估 CRM 客户系统的功能是否满足助贷机构的需求,可以从以下几个方面入手: 1. 客户信息管理 - 检查系统能否全面、准确地记录客户的基本信息,如个人身份、财务状况、贷款需求等。 - 确认是否支持多维度的客户分类和标签功能,以…

Linux Redis 服务设置开机自启动

文章目录 前言一、准备工作二、操作步骤2.1 修改redis.conf文件2.2 创建启动脚本2.3 设置redis 脚本权限2.4 设置开机启动2.5 验证 总结 前言 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i、 提示:以下是本篇文章正文内容&#x…

十步学习法,赋能程序员

大家好,我是码农先森。 引言 最近看了《软技能:代码之外的生存指南》这本书,对其中的 “十步学习法”。 有一些感触,所以将其中的内容记录并总结了下来,分享给大家。 程序员在学习成长的过程中,除了关注…

视频无法正常播放,提示0xc10100be错误代码怎么办?

有时我们在电脑上播放视频会提示“0xc10100be错误代码”,视频无法正常播放,这个视频播放问题是比较常见的问题。 通常导致出现错误代码0xc10100be的原因如下: 1.不正确的文件扩展名:如果在没有使用专用视频转换工具的情况下&…

【C++入门必备】【命名空间】【缺省略参数】【C++输入输出】

P. S.:以下代码均在VS2019环境下测试,不代表所有编译器均可通过。 P. S.:测试代码均未展示头文件stdio.h的声明,使用时请自行添加。 博主主页:LiUEEEEE                        …

ImageMasking-对图片做随机遮掩/块遮掩

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言从ipynb文件入手带注释的python文件modulesmask.pyutils.py 前言 1.可以去github直接下载这个项目,这样下载得到的是比较干净的版本,我把有注释的按…

[每周一更]-(第103期):GIT初始化子模块

文章目录 初始化和更新所有子模块分步骤操作1. 克隆包含子模块的仓库2. 初始化子模块3. 更新子模块 查看子模块状态提交子模块的更改处理子模块路径错误的问题 该问题的缘由是因为:在写某些代码的时候,仓库中有些文件夹,只提交了文件夹名称到…

小盒子跑大模型!基于算能BM1684X+FPGA平台实现大模型私有化部署

当前,在人工智能领域,大模型在丰富人工智能应用场景中扮演着重要的角色,经过不断的探索,大模型进入到落地的阶段。而大模型在落地过程中面临两大关键难题:对庞大计算资源的需求和对数据隐私与安全的考量。为应对这些挑…

龙迅#LT9721芯片适用于HDMI1.4转EDP应用功能,分辨率高达4K30HZ。

1.特点 •HDMI1.4接收器 支持最大3.4Gbps输入数据速率 支持HDMI1.4中指定的3D视频数据流 支持HDCP1.4和DDC从属EDID 支持分辨率高达4Kx2K30Hz的RGB 支持热插头检测 没有HEAC和CEC支持 •eDP1.4发射器 符合VESA eDP1.4标准 支持4车道与1.62Gbps(RBR&…

前端开源项目Vuejs:让前端开发如虎添翼!

文章目录 引言一、Vue.js的优势二、Vue.js实战技巧三、Vue.js社区与资源结语 引言 在前端开发的世界里,Vue.js凭借其简洁、轻量且功能强大的特性,逐渐崭露头角,成为众多开发者心中的首选框架。 一、Vue.js的优势 Vuejs项目地址 Vue.js之…

基于Java的茶文化交流系统【附源码+LW】

摘 要 计算机网络发展到现在已经好几十年了,在理论上面已经有了很丰富的基础,并且在现实生活中也到处都在使用,可以说,经过几十年的发展,互联网技术已经把地域信息的隔阂给消除了,让整个世界都可以即时通话…

【Linux】Ubuntu 部署 Zabbix 7.0

实验环境:Ubuntu-22.04 官方下载地址: 下载Zabbix 7.0 LTS for Ubuntu 22.04 (Jammy), MySQL, Apache 1、下载 Zabbix 官方安装包以及环境配置 下载 zabbix 安装包 wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabb…

【2024最新版】图解Mysql数据库配置、命令行及Workbench访问(Windows版本)

目录 1. 准备工作1.1 安装MySQL1.2 验证MySQL的环境变量 2. 环境变量配置3. 访问MySQL3.1 命令行访问MySQL3.2 Workbench访问MySQL 1. 准备工作 1.1 安装MySQL 如果您已经安装了MySQL,请从【2. Mysql 环境配置】开始;如果您没有安装MySQL,请…

如何用Vue3和Plotly.js绘制动态3D图表?

本文由ScriptEcho平台提供技术支持 项目地址:传送门 Plotly.js: 使用Vue.js动态加载数据并绘制图表 应用场景 在数据可视化应用中,需要将数据动态加载到图表中并进行实时更新。本文将展示如何使用Plotly.js和Vue.js实现这一功能,从加载外…

Halcon 重叠区域 显示汉字 图像分割

一 如何填充区域之间的GAP或分割重叠区域 read_image(Image,fabrik)*区域生长法将图像分割成相同强度的区域,并将其划分成大小为行*列的矩形。 为了确定两个相邻的矩形是否属于相同的区域, *仅使用其中心点的灰度值。 如果灰度值差小于等于公差&#xff…

# Kafka_深入探秘者(3):kafka 消费者

Kafka_深入探秘者(3):kafka 消费者 一、kafka 消费者、消费组 1、Kafka 消费者是消费组的一部分,当多个消费者形成一个消费组来消费主题时,每个消费者会收到不同分区的消息。假设有一个 T1 主题,该主题有…

【MySQL系列】abc索引分析

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习…

【操作与配置】WSL配置LINUX

WSL2(Windows Subsystem for Linux 2)是Microsoft开发的一项技术,允许用户在Windows操作系统上运行Linux发行版。WSL2是WSL(Windows Subsystem for Linux)的第二版,带来了许多改进和新特性。 官网&#xff…

Spring Security基本源码解析(超精细版)

一、基本源码解析 1.1 UsernamePasswordAuthenticationFilter 用户名称和密码的过滤器 浏览器发送用户名称和密码 ----》 经过过滤器「UsernamePasswordAuthenticationFitler」 1.2 UsernamePasswordAuthenticationFilter核心方法 重写父类「AbstractAuthenticationProcessing…