SSTI——java里的ssti

news2024/12/23 1:44:52

 1.Velocity

2.FreeMarker 

因为从来没接触过java语言 所以对这些也是基本上一窍不通 这里只简单的提及 不做具体介绍

会找一下题来做 但是没有找到有关java ssti的题目

confusion1

看一下描述

打开题目

 没发现什么东西 但是 login register页面显示访问不成功 查看源代码找到了flag的位置

 根据题目描述结合图片分析这网站应该是用python编写的

蛇缠在大象身上猜测此系统使用了php+python

(php的标志是大象,Python的标志是蛇)

尝试一下ssti注入

发现有注入点,用tplmap自动注入一下

 

用tplmap连接不成功 但是知道了是jinja2模板

利用payload进行注入

{{().__class__.__bases__[0].__subclasses__()[177].__init__.__globals__.__builtins__['open']('/opt/flag_1de36dff62a3a54ecfbc6e1fd2ef0ad1.txt').read()}} 

发现有弹窗 尝试发现常用的class、subclasses、read都被过滤了,但是并未过滤request。

request 是 Flask 框架的一个全局对象 , 表示 " 当前请求的对象( flask.request ) " 。

所以我们可以利用request.args绕过输入黑名单,进行沙箱逃逸。

{{''[request.args.a][request.args.b][2][request.args.c]()[40]('/opt/flag_1de36dff62a3a54ecfbc6e1fd2ef0ad1.txt')[request.args.d]()}}?a=__class__&b=__mro__&c=__subclasses__&d=read

 得到flag

 这道题的考点就是在 Flask 框架的全局对象request 这里 因为常见的class、subclasses、read都被过滤了

 ssti大框架就是这些 但是里面的细节还需要抠仔细 比如python的函数命令 php的函数 以及各种需要整理的payload 还有各种拓展到的知识 flask框架 python沙箱绕过 以及python的模板函数也要仔细学习

接下来会有一个整理 把ssti的内容彻底解决掉

 

 

 

 

 

 

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

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

相关文章

【转载】陆奇最新演讲全文实录:大模型带来的新范式(附下载文档)

《新范式 新时代 新机会》为主题的分享活动,陆奇博士以“新范式”为核心,分享了他对当前技术变革的观点,基于演讲整理了文字稿,也同步分享完整的PPT和视频,欢迎大家一起交流。 下载PDF文件: 《ChatGPT研究…

yolov8 人体姿态关键点检测

参考: https://github.com/ultralytics/ultralytics https://github.com/TommyZihao/Train_Custom_Dataset/tree/main/%E5%85%B3%E9%94%AE%E7%82%B9%E6%A3%80%E6%B5%8B ##安装 pip install ultralytics -i https://pypi.douban.com/simple1、命令行运行 pip安装好…

图像金字塔

​ 图像金字塔是由一幅图像的多个不同分辨率的子图构成的图像集合。是通过一个图像不断的降低采样率产生的,最小的图像可能仅仅有一个像素点。下图是一个图像金子塔的示例。从图中可以看到,图像金字塔是一系列以金字塔形状排列的、自底向上分辨率逐渐降低…

静电监控系统选购策略:有效提高系统可靠性与性价比

随着工业自动化和信息化程度的提高,静电在工业生产中的影响越来越显著。静电的存在会对电子设备、传输介质等产生不良影响,甚至会导致产品损坏和火灾事故的发生。因此,静电监控系统的选购对于工业生产的稳定具有重要意义。 一、功能需求 静…

Java实训日志06

文章目录 八、项目开发实现步骤(八)创建服务接口1、创建学校服务接口2、创建状态服务接口3、创建学生服务接口4、创建用户服务接口 (九)创建服务接口实现类1、创建学校服务接口实现类2、创建状态服务接口实现类3、创建学生服务接口…

【CMake 入门与进阶(10)】 CMakeLists.txt 语法规则_循环语句(附使用代码)

cmake 中除了 if 条件判断之外,还支持循环语句,包括 foreach()循环、while()循环。 foreach 循环 1、foreach 基本用法 foreach 循环的基本用法如下所示: foreach(loop_var arg1 arg2 ...)command1(args ...)command2(args ...)... endfore…

chatgpt赋能python:Python编写计算器的方法

Python编写计算器的方法 介绍 计算器是一款常见的实用工具,它能够进行基本的算数运算,如加减乘除等。在Python中,我们可以利用各种库和函数来实现计算器的功能,从而方便地进行数值计算。 怎么编写计算器 在Python中&#xff0…

WINS服务的作用和效率

WINS服务的作用和效率 目录 WINS服务的作用和效率 一、WINS服务 二、配置 2.1、服务端 2.2、客户端 2.3、配置方法 三、效果 3.1、计算机-网络(过去的“网上邻居”) 3.2、局域网打印机共享 3.3、基于NetBios名称的数据库客户端连接 一、WINS服…

爆肝万字带你超级详细全面了解Linux命令大全

🍁前言 👑作者主页:👉CSDN丨博客园 🏆学习交流:👉在下周周ovoの社区 对这篇万字博客目录总结如下: 关机命令、重启命令,创建用户、删除用户、修改密码、切换用户、切换到…

Centos8 如何给磁盘扩容

今天发现 在home目录下无法写入文件,经过查看磁盘空间,发现/dev/mapper/cl-home空间满了。于是乎,给磁盘进行扩容,扩充成功,下面将操作步骤分享出来。 查看空间 [rootasrcent8 ~]# df -k 文件系统 1K…

jsp与java bean

软件开发应具有较高的可维护性,以方便后续的代码维护,而实现高可维护性的有效途径是要实现软件的低耦合、高内聚。软件设计分层的概念主要就是将软件各部分进行解耦合设计,对于JSP动态开发技术而言, JavaBean是最基础的分层技术。…

Java集合框架:栈、Stack详解

目录 一、栈 二、栈的使用 1. Stack类 2. 栈的模拟实现 三、栈的应用场景 1. 改变元素的序列 2. 将递归转化为循环(如:逆序打印链表) 3. 栈的oj题练习(oj题中都用到了栈这种数据结构) 四、栈,虚拟机…

Stable diffusion webui 本地安装教学

Stable diffusion AI的绘图工具,这是一种扩散模型,可以通过不断去噪来获得最终的艺术作品。这款工具是当前最受欢迎的AI绘图工具之一,不仅是还是开源的,而且其中的AUTOMATIC111 Stable-diffusion-webui版本深受AI绘图玩家的喜爱&a…

三、Docker的基本组成和常用命令(一)

文章目录 Docker的基本组成镜像(image)容器(container)仓库(repository)总结 Docker的常用命令帮助命令镜像命令docker imagesdocker searchdocker pulldocker rmi Docker的基本组成 镜像(image) Docker 镜像(Image)就是一个只读的模板。镜像可以用来创…

用Netty自己实现Dubbo RPC

1.RPC基本介绍 1>.RPC(Remote Procedure Call)— 远程过程调用,是一个计算机通信协议.该协议允许运行在一台计算机中的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程; 2>.两个或多个应用程序都分布在不同的服务器上,它们之间的调用都像是本地方法…

跟着《代码随想录》练习代码

更新中。。。有错误请指正 数组 二分查找704 class Solution:def search(self,nums:list,target:int)->int:left 0right len(nums)-1while left<right:mid (leftright)//2guess nums[mid]if guess target:return midbreakelif guess > target:right mid -1els…

浅析浏览器的缓存

随着浏览器功能的日益强大&#xff0c;在工作中&#xff0c;浏览器是前端工程师们最重要的战友和开发调试工具&#xff0c;它承载着用户最舒适的用户体验&#xff0c;ui最佳的设计成果展示&#xff0c;后台数据最直观的展示。因此&#xff0c;对浏览器的认识和理解起到举足轻重…

使用pipe、select实现线程间通信和性能测试

一 代码实现 理论依据&#xff1a; 管道中无数据时&#xff0c;读阻塞。 写数据时&#xff0c;长度小于PIPE_BUF时&#xff0c;写数据是原子操作&#xff0c;这样不会出现写一半的情况。在我的虚拟机上PIPE_BUF的值是4096&#xff0c;在标准中linux系统中该值都是4096. 测试代…

小型极简主义 Linux 发行版:Peropesis

导读Peropesis 是 personal operating system 的转写简拼&#xff0c;一个小型、极简主义、基于命令行的 Linux 操作系统。目前仍是一个不完整的系统&#xff0c;但它正在不断改进。 此外&#xff0c;它是一个由自由软件创建的自由操作系统&#xff0c;在 GNU GPL 或 BSD 许可下…

csdn编辑模式

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…