SSTI 学习笔记

SSTI 学习笔记PHPSSTI(Twig)学习文章进入环境,左上角有flag,hint都检查看看flag页面显示ip,hint页面源代码有提示考虑XFF头或者referer头测试一下注:这里不用加上“;”出来了pythonflaskssti学习文章原理:因为对输入的字符串控制不足,把输入的字符串当成命令执行。漏洞产生主要原因:render_template渲染函数的问题渲染函数在渲染的时候,往往对用户输入的变量不做渲染,..

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

PHP SSTI(Twig)

学习文章

进入环境,左上角有flag,hint

都检查看看

SSTI 学习笔记

flag页面显示ip,hint页面源代码有提示

SSTI 学习笔记

SSTI 学习笔记

 考虑XFF头或者referer头

SSTI 学习笔记

测试一下

SSTI 学习笔记

注:这里不用加上“;”

SSTI 学习笔记

出来了

SSTI 学习笔记

 

python flask ssti

学习文章

原理:因为对输入的字符串控制不足,把输入的字符串当成命令执行。

漏洞产生主要原因:render_template渲染函数的问题

渲染函数在渲染的时候,往往对用户输入的变量不做渲染,
即:{undefined{}}在Jinja2中作为变量包裹标识符,Jinja2在渲染的时候会把{undefined{}}包裹的内容当做变量解析替换。比如{undefined{1+1}}会被解析成2。因此才有了现在的模板注入漏洞。往往变量我们使用{undefined{这里是内容}}
真因为{undefined{}}包裹的东西会被解析,因此我们就可以实现类似于SQL注入的漏洞

像文件包含,有一个include函数,sql注入,似乎都有些共同点,都是利用某个函数或者其他的东西,执行恶意的命令

因为我们需要执行一些命令,例如,file、read、open、ls等等

就需要去调用这些函数

这就需要用到这个魔术对象

__class__  :返回类型所属的对象
__mro__    :返回一个包含对象所继承的基类元组,方法在解析时按照元组的顺序解析。
__base__   “返回该对象所继承的基类
// __base__和__mro__都是用来寻找基类的

__subclasses__  获取当前类的所有子类
__init__  类的初始化方法
__globals__  对包含(保存)函数全局变量的字典的引用

通过魔术对象调用我们需要的函数,例如

>>> [].__class__.__base__.__subclasses__()[2]
<class 'weakcallableproxy'>
>>> [].__class__.__base__.__subclasses__()[3]
<class 'weakproxy'>
>>> [].__class__.__base__.__subclasses__()[40]
<class 'wrapper_descriptor'>

Bugku Simple_SSTI_1

进入环境

SSTI 学习笔记

查看源代码

SSTI 学习笔记

 意思是我们需要传一个flag变量,并且提示我们有个secret_key

SSTI 学习笔记

 测试下有没有ssti

SSTI 学习笔记

 有的,我们去看看sectet_key

SSTI 学习笔记

这里是需要大写的

SSTI 学习笔记

 

Bugku Simple_SSTI_2

进入环境

SSTI 学习笔记

源代码并没有提示,只是让我们传一个pass变量

SSTI 学习笔记

 这里证明有ssti那就看看目录

SSTI 学习笔记

 一个一个看下,先看app

SSTI 学习笔记

 有flag目录

SSTI 学习笔记

Bugku Flask_FileUpload

进入环境

SSTI 学习笔记

 源代码里有提示

SSTI 学习笔记

 上传文件,会用Python执行文件返回结果

先随便上传个文件试试

SSTI 学习笔记

发现只能上传jpg或者Png

SSTI 学习笔记

 那就改下后缀继续上传

SSTI 学习笔记

 会在源代码里返回执行的结果,那么可以试试命令执行

SSTI 学习笔记

SSTI 学习笔记

抓flag

SSTI 学习笔记

 

SSTI 学习笔记

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179436.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 牛客:数据库实战—1—查找最晚入职员工的所有信息、查找入职员工时间排名倒数第三的员工所有信息

    牛客:数据库实战—1—查找最晚入职员工的所有信息、查找入职员工时间排名倒数第三的员工所有信息1、查找最晚入职员工的所有信息CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`first_name` varchar(14) NOT NULL,`last_name` varchar(16) NOT NULL,`gender` char(1) NOT NULL,`hir…

    2022年6月13日
    45
  • 数据结构——线索化二叉树和哈夫曼树[通俗易懂]

    数据结构——线索化二叉树和哈夫曼树[通俗易懂]线索化二叉树和哈夫曼树基础知识介绍与代码分析一、基础知识介绍二、代码分析:线索二叉树(采用中序遍历)#include “pch.h”#include <iostream>using namespace std;//定义线索二叉树typedef struct Tree{ int data, LTag, RTag; //定义数据域与标记域 Tre…

    2022年8月18日
    8
  • SIM简介「建议收藏」

    SIM简介「建议收藏」5月17日,国际电信日。在这天,北京通信公司开始对北京城里的政府单位医疗机构等集体发放小灵通号码,随着小灵通在北京市区的出现,以及中国南北两大电信公司的互联互通,网通电信移动联通4足鼎立的局面已经形成,传统的高价资费模式已经被打破,单向收费和准单向收费成为人们最津津乐道的话题。现在全国各地移动联通公司纷纷推出价格便宜、针对不同阶层的手机卡。我为大家介绍一下中国的手机品牌卡以所支持的功能,希望能为即…

    2022年10月7日
    0
  • Java高并发解决方案

    Java高并发解决方案电商的秒杀和抢购,对我们来说,都不是一个陌生的东西。然而,从技术的角度来说,这对于Web系统是一个巨大的考验。当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要。这次我们会关注秒杀和抢购的技术实现和优化,同时,从技术层面揭开,为什么我们总是不容易抢到火车票的原因?一、大规模并发带来的挑战在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整个W…

    2022年5月31日
    27
  • 把字符串转换成float类型_c++如何将string类型转换成int类型

    把字符串转换成float类型_c++如何将string类型转换成int类型在学习数据结构经常碰到各种数据间转换的例程,就想c的库里面有没有现有的函数,用的时候直接调用就好,一查果然有:整型转字符串itoa();字符串转整型atoi();用的时候需要添加头文件#include<stdlib.h>。itoa();功能:将整形(int)转换为字符串(char),十进制转任意进制,以字符形式输出(转换后的结果以字符形式输出)使用方式:首先要申明头文件stdlib.hchar*_itoa(intvalue,char*string,intradix).

    2022年8月31日
    1
  • 文件夾加鎖

    文件夾加鎖此加密方法會使这个特殊的文件夹用正常情况不可打開也不可删除,可以起到保护重要资料的作用。  在Windows中“\”符号是路径的分隔符,比如“C:\Windows\System.exe”的意思是C分区的Windows文件夹中的System.exe文件。如果文件名中有“\”符号会怎么样呢?假如“sexinsex\”是一个文件夹的名字,这个文件夹位于“F:\”,它的路径就是“F:\sexinsex\…

    2022年7月13日
    19

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号