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 学习笔记

 

 

 

 

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 3s的基本概念_考研基础知识普及

    3s的基本概念_考研基础知识普及      一、什么是“3S”技术“3S”技术是英文遥感技术(RemoteSenescing  RS)、地理信息系统(GeographicalinformationSystem  GIS)、全球定位系统(GlobalPositioningSystem  GPS)这三种技术名词中最后一个单词字头的统称。二、为什么“3S”技术走到了一起人类有一个梦想,就是想只用一种方法,就把

  • 比特币挖矿培训来到印度30个城市[通俗易懂]

    比特币挖矿培训来到印度30个城市[通俗易懂]点击上方“蓝色字”可关注我们!暴走时评:为了促进印度达利特阶层的商业企业发展,2005年印度成立了行业协会DICCI。Mahabfic则是在马哈拉施特拉邦宣传区块链、金融科技、ICO和加密货币投资的平台。最近两个机构合作在印度30个城市展开比特币挖矿培训,包括区块链技术、挖矿、创业、初创企业等课程内容。旨在为这些地区年轻人自主就业提供帮助,为这些地区创造新的经济增长点。作者:KevinHelms

  • BigDecimal保留两位小数及格式化成百分比[通俗易懂]

    BigDecimal保留两位小数及格式化成百分比[通俗易懂]BigDecimal保留两位小数及格式化成百分比在项目中经常会用到小数的一些计算,而float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确。所以有时候必须要采用BigDecimal。publicc…

  • 文件服务器 ldap,windows下搭建ldap服务器[通俗易懂]

    文件服务器 ldap,windows下搭建ldap服务器[通俗易懂]windows下搭建ldap服务器内容精选换一换当您发现云服务器的运行速度变慢或云服务器突然出现网络断开的情况,则可能是云服务器的带宽和CPU利用率过高导致。如果您已经通过云监控服务创建过告警任务,当CPU或带宽利用率高时,系统会自动发送告警给您。Windows云服务器带宽流量过高或CPU利用率高,您可以按如下步骤进行排查:问题定位:定位影响云服务器带宽和CPU利用率高的进程。Wind本文以云服…

  • 音质好的linux主机,5千音质好的HIFI播放器有哪些?5款性价比“神砖”简评「建议收藏」

    本文已获得作者授权,文中言论不代表乙迷观点。作者:蓝色风暴作为HiFi发烧友,用手机听歌?呵呵,那肯定是不存在的。想要拥有好音质,手机应该是达不到要求的,毕竟手机的推力有限,不能很好发挥耳机的潜力,也就无法更高的还原音乐细节,从而让你无法感受到高解析、高保真的音乐效果,所以一款无损播放器是绝对少不了的。而当你听过高品质的音质,相信也会宠坏你的耳朵,这也是音乐发烧友耳朵挑剔的原因,所以不要跟发烧友谈…

  • ai的文件怎样将里面的文字转曲_PDF文件置入AI缺少字体

    ai的文件怎样将里面的文字转曲_PDF文件置入AI缺少字体AI文件中文字转曲是什么?怎么转曲?转曲百度百科

发表回复

您的电子邮箱地址不会被公开。

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