zoukankan      html  css  js  c++  java
  • [护网杯 2018]easy_tornado 模板注入

    1.  题目为三个文件夹的目录

    2.  逐一点进去浏览

    /flag.txt提示flag在/fllllllllllllag文件中

    /welcome.txt提示看不懂

    /hints.txt提示了一串利用md5的加密方法

    3.  留意到每个点进的文件夹url形式

    ?filename=/hints.txt&filehash=baa1923771de460f9de0551719341aa3

    filename填写文件名,filehash填写一串加密后的字符串,推测为hints.txt中提示的加密方法。

    4.  尝试将自己的cookie值带入进cookie_secret中进行加密,失败。

    5.  多番尝试无果,看wp,发现是第一次接触到的模板注入。

      模板注入涉及的是服务端Web应用使用模板引擎渲染用户请求的过程,和常见Web注入的成因一样,也是服务端接收了用户的输入,将其作为 Web 应用模板内容的一部分,在进行目标编译渲染的过程中,执行了用户插入的恶意内容,因而可能导致了敏感信息泄露、代码执行、GetShell 等问题。其影响范围主要取决于模版引擎的复杂性。

    观摩了大佬们的wp之后发现以下几点要点

      1. Error界面的url格式为/error?msg=Error,大佬看到注意到这一点之后便判断存在模板注入攻击。尝试构造/error?msg={{datetime}}
      2. 题目名字叫tornado,这是一个前段模板,大佬去查阅了该模板的官方文档。发现cookie_secret在Application对象settings属性中,还发现self.application.settings有一个别名
      3. handler指向的处理当前这个页面的RequestHandler对象,
        RequestHandler.settings指向self.application.settings,
        因此handler.settings指向RequestHandler.application.settings。
        构造payload获取cookie_secret
        /error?msg={{handler.settings}}

      4. 构造完payload后题目给出了cookie_secret。然后根据hint提示构造加密后的字符串,提交得到flag

    模板注入涉及到的知识点比较多,以后有机会一定会了解的更透彻,做完这题其实只是涉及了一下模板注入和了解了这种漏洞形式。

    https://blog.csdn.net/weixin_44677409/article/details/94410580

    https://www.freebuf.com/vuls/83999.html

  • 相关阅读:
    网络七层
    微信小程序开发工具 常用快捷键
    BZOJ 1026 windy数 (数位DP)
    BZOJ 1026 windy数 (数位DP)
    CodeForces 55D Beautiful numbers (SPOJ JZPEXT 数位DP)
    CodeForces 55D Beautiful numbers (SPOJ JZPEXT 数位DP)
    HDU 3709 Balanced Number (数位DP)
    HDU 3709 Balanced Number (数位DP)
    UVA 11361 Investigating Div-Sum Property (数位DP)
    UVA 11361 Investigating Div-Sum Property (数位DP)
  • 原文地址:https://www.cnblogs.com/cmredkulaa/p/14534883.html
Copyright © 2011-2022 走看看