zoukankan      html  css  js  c++  java
  • 护网杯

    第一次打ctf没有做出来的菜鸡。想写下感想并copy下大佬的代码。感谢大佬!!!

    大致原文:https://blog.csdn.net/ljphilp/article/details/47103745
    大佬:wyj_1216

    进入题目网站,发现三个文件

     


    首先进入第一个文件Orz.txt,发现提示渲染函数render(),直接将文件内容显示在网页上



    再进入第二个文件hint.txt,发现提示md5(cookie_secret + md5(filename)),即先将filenamemd5加密,再将cookie_secret与md5加密后的filename进行md5加密,也就是说,目前我们需要知道的是filename和cookie_secret


    之后,再进入第三个文件flag.txt,发现提示像文件名/fllllllllllag,



    于是考虑filename=/fllllllllllag

    render(),这个是生成模板的函数,于是想到模板注入STTI。

    在读取文件失败的这个链接中,发现STTI漏洞
    但是提示有签名错误,发现/error?msg=签名错误,考虑服务端模板注入(ssti攻击)

     



    尝试输入/error?msg={{1}},确实是存在模板注入                        ---模块注入语法{{}}这里具有渲染模板的作用

     



    尝试输入/error?msg={{7*7}},不存在运算                   ---看客

    但是发现有过滤,测试一下发现,过滤的特殊字符有:

    "%'()*-/=[]_|     一个个测吗?

    结合Tornado框架

     

    这里的话飘零大佬说可以进行模板注入,并且只能读一个变量
    接下来的思路才是骚,直接阅读tornado的源码
    https://github.com/tornadoweb/tornado/blob/master/tornado/auth.py

    在handler.settings 里面存在cookie_secret这东西

    读取一下


    资料获取发现对于 Python tornado(标题哦)框架存在附属文件 handler.settings,于是尝试输入/error?msg={{handler.settings}}

    发现 ‘cookie_secret’: '1B]c{ey<lzkHJGipa+X[Kn?Wd08C(&*TUZ4g6wrfMSRoQ7h^%V-5bAvm2Px>~I9_'

     




    于是进行前面所分析的md5加密

     

     

    (*/ω\*)。说一句题外话,cmd5真的垃圾,还从未被超越,自卖自夸还夸大不好用,哼h.

     




    最后输入

    ?filename=/fllllllllllag&signature=e3a0ddf3c16175ef5407df1b4ad664fd
    

     


    得到flag

    看别人提交flag,☺给出的提示你得用到才行啊,不然挺难做出来。
    PS:

    有关于渲染函数render():

    https://cn.vuejs.org/v2/guide/render-function.html

    有关于服务端模板注入(ssti攻击):

    https://www.cnblogs.com/tyomcat/p/5440488.html

    有关于tornado:

    https://blog.csdn.net/belalds/article/details/80575755

    有关于Tornado.web.Application的settings参数:

    https://blog.csdn.net/ljphilp/article/details/47103745

    批评www.bubuko.com(180.97.158.239)这个只会爬取别人网站的大坏蛋。

  • 相关阅读:
    To My Girlfriend (DP)
    A Simple Nim (SG打表找规律)
    A Boring Question (打表)
    A Simple Chess (Lucas组合数 + 容斥)
    World is Exploding (容斥 + 统计)
    Two (DP)
    K-wolf Number (数位DP)
    Interesting (manacher + 前缀和处理)
    How Many Triangles (极角排序 + 尺取法)
    Divide the Sequence (贪心)
  • 原文地址:https://www.cnblogs.com/qq3285862072/p/9785549.html
Copyright © 2011-2022 走看看