zoukankan      html  css  js  c++  java
  • [护网杯2018]easy_tornado SSTI

    信息

    出现三个文件,依次访问

     

    http://082326f5-6971-4891-8f5d-0e5d6e55ca4a.node3.buuoj.cn/file?filename=/flag.txt&filehash=05e73c4181a1e18ebfc6a19f7a144dc6

     

    http://082326f5-6971-4891-8f5d-0e5d6e55ca4a.node3.buuoj.cn/file?filename=/welcome.txt&filehash=734305e80c140a16b9961570cbfb40dc

     

    http://082326f5-6971-4891-8f5d-0e5d6e55ca4a.node3.buuoj.cn/file?filename=/hints.txt&filehash=eeac59dc6d8838047787c4f8dd23fc8c

     

    分析

    flag/fllllllllllllag

    Render提示是模板注入,SSTI,renderpython中的一个渲染函数,也就是一种模板,通过调用的参数不同,生成不同的网页 render配合Tornado使用

    Ps:Tornado是一种 Web 服务器软件的开源版本。Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快

    网址格式为:file?filename=/fllllllllllllag&filehash=md5(cookie_secret+md5(filename))

    关键是获取cokie_secret

    过程

    直接访问file?filename=/fllllllllllllag

     

    出现error

     

    根据刚刚的分析,尝试{{}}注入

     

    尝试其他的特殊字符,发现都是ORZ,说明过滤了一些奇怪的字符,根据分析,在tornado模板中,存在一些可以访问的快速对象,这里用到的是handler.settingshandler 指向RequestHandler,而RequestHandler.settings又指向self.application.settings,所以handler.settings就指向RequestHandler.application.settings了,这里面就是我们的一些环境变量,尝试注入{{handler.settings}}

     

    得到cookie

    脚本编写,因为是filehash=md5(cookie_secret+md5(filename))

    脚本:

     

     

    得到了filehash,根据分析,访问

    file?filename=/fllllllllllllag&filehash=5b9f88453da11859c11d816c32833ebb

     

    SSTI完全学习:https://blog.csdn.net/zz_Caleb/article/details/96480967

           https://www.jianshu.com/p/aef2ae0498df

  • 相关阅读:
    java多线程api
    java多线程
    java代理
    java程序员常用的linux命令
    java泛型
    java反射
    日期和时间
    java集合
    Nodejs mac版安装
    for in、each; for 、forEach、map
  • 原文地址:https://www.cnblogs.com/Lee-404/p/12757591.html
Copyright © 2011-2022 走看看