首页 > 其他分享 >[护网杯 2018]easy_tornado_wp(finish)

[护网杯 2018]easy_tornado_wp(finish)

时间:2023-03-15 19:24:32浏览次数:54  
标签:finish settings tornado filename fllllllllllllag secret cookie 2018

buuctf easy_tornado解题思路

打开题目链接可以看到web里有3条链接
go

分别是
1
2
3

分析/flag.txt里的可以看到 我们想要的存在”flag in /fllllllllllllag“fllllllllllllag这个文件里了,我们还可以看到我们的url上的参数file?filename=文件路径&filehash=xxxxxx
我们尝试一下拼接url看能否fllllllllllllag里的内容url/file?filename=fllllllllllllag&filehash=xxxxxx结果返回了Error
4

好像不行,我们先分析其他两个文件内容第二个文件中只给了render这个关键词,通过百度必应查询“render漏洞”再配合题目关键词tornado,发现是python SSTI tornado render的模板注入tornado render是python中的一个渲染函数,也就是一种模板,通过调用的参数不同,生成不同的网页,如果用户对render内容可控,不仅可以注入XSS代码,而且还可以通过{{}}进行传递变量和执行简单的表达式。
5

然后就是hints.txt里的“md5(cookie_secret+md5(filename))”这段代码,我们可以确定flag.txt、welcome.txt、hints.txt后面的filehash是通过这段代码生成的,而我们想要获取fllllllllllllag就需要先获取到filehash,我们要计算出filehash就要通过上面的“md5(cookie_secret+md5(filename))”代码处理的值,这段代码里的filename我们知道,现在唯一不知道的就是cookie_secret想要知道cookie可能就要通过上面的render(python SSTI tornado render的模板注入)去挖掘了。

那么现在我们的思路就非常清晰了,我们先要通过模板注入从中拿到cookie,再拼接代码生成filehash,从而在url中的两个参数进行拼接访问到fllllllllllllag这个文件

通过查找tornado render的模板注入的利用、tornado的文档和网上大佬们的一些wp,发现cookie_secret存放在settings中的,settings作为参数传入了application构造函数,就可以确定self.application.settings中存放着cookie_secret,又因为根据官方文档记载self.application.settings是RequestHandler.settings的别名,最后Handler指向的处理当前这个页面的RequestHandler对象!!
那么最终的指向如下:

Handler.settings >> RequestHandler.settings >> self.application.settings

7
6

最终我们需要获取cookie_secret值,就可以通过“tornado render的模板注入” 构造payload

payload:
msg={{Handler.settings}}

拼接url获取cookie_secret值:
http://43ac0f67-1832-4267-af71-1da44beac6b8.node4.buuoj.cn:81/error?msg={{handler.settings}}

8

拿到cookie后,对fllllllllllllag文件生成filehash

#coding=utf-8
import hashlib

src = "/fllllllllllllag"
cookie = "7618ae79-e123-4c97-b946-3fef4ddf6804"



filename = hashlib.md5()
filename.update(src.encode("utf-8"))
filename = filename.hexdigest()



cookie_secret = hashlib.md5()
cookie_secret.update((cookie+filename).encode("utf-8"))
cookie_secret = cookie_secret.hexdigest()

print(cookie_secret)

9

拼接构造url:
http://43ac0f67-1832-4267-af71-1da44beac6b8.node4.buuoj.cn:81/file?filename=/fllllllllllllag&filehash=d3371ba7b88b8564dc8733a4c4fb9a9a

通过最终构造的url访问web即可拿到flag
10

参考:

https://blog.csdn.net/weixin_44255856/article/details/97687299
https://www.cnblogs.com/xhds/p/12285121.html
https://www.cnblogs.com/chrysanthemum/p/11716903.html
https://blog.csdn.net/qq_45805420/article/details/107876871

标签:finish,settings,tornado,filename,fllllllllllllag,secret,cookie,2018
From: https://www.cnblogs.com/ping-ka/p/17219681.html

相关文章

  • idea2018 下载github项目
    获取github代码地址:idea下载项目:File->new->projectversioncontrol->git  ......
  • luogu P4566 [CTSC2018]青蕈领主
    题面传送门最后这个转化非常牛逼啊!首先我们可以证明:一个合法的序列中,这样的极长连续区间不会相交。Proof:如果相交了,说明相交的区间也是一段连续区间,而每个区间不相交的......
  • 【洛谷】P4457 [BJOI2018]治疗之雨(期望+高斯消元)
    原题链接题意初始时玩家有\(p\)滴血,满血\(n\)滴,每个回合会进行如下操作:若当前还没有满血,则以\(\frac{1}{m+1}\)的概率增加一滴血;\(k\)次判定,每次以\(\frac......
  • 2018年东北农业大学春季校赛(周赛训练)
    题解报告题解顺序不是原来比赛的题目顺序题目意思可以去原题了解基本的一些理解和问题都在注释中题目一:wyh的矩阵//思维题,找规律,考虑中点的性质。#include<cstd......
  • 华为2018-8-12软件开发优招面试(C/C++)——上合地区
    下午2:00开始的,第一感受是:小姐姐超级多,第二感受是:超级热。话不多说,直接切入正题总共两面:一面是技术面(40min),一面是综合面(20min)技术面:总共的流程如下:1.自我介绍2.介绍一下项......
  • 2018年美亚杯电子取证资格赛wp
    萌新第一次做取证题。之前试过团队赛的题目,结果被虐麻了,就回来做资格赛来找手感。wp是边做题边写的,错误的地方会用删除线修正并用斜体字进行注释。1.Victor的笔记本电脑......
  • P4434 [COCI2017-2018#2] ​​Usmjeri
    知识点:lca,种类并查集新生赛原题。什么嘛,我还是长了一点手的嘛简述给定一棵\(n\)个节点的树,初始时每条边方向不确定,同时给定\(m\)组约束,第\(i\)组约束为\((a_i,......
  • BUU pwn PicoCTF_2018_shellcode //最简单的shellcode
    这道题需要我们了解x86汇编的lea指令。leadst,src指的是dst=&srcfile可知32bitELFIDAF5发现反编译失败,查看main函数的汇编,发现会调用vuln函数。其中leaeax,[ebp+va......
  • 【NOI2018】冒泡排序
    【NOI2018】冒泡排序Description最近,小S对冒泡排序产生了浓厚的兴趣。为了问题简单,小S只研究对\(1\)到\(n\)的排列的冒泡排序。下面是对冒泡排序的算法描述。......
  • FPGA 学习笔记:Vivado 2018.2 MicroBlaze Uartlite 配置
    前言Vivado版本:Vivado2018.2+VivadoHLS2018.2,VivadoHLS2018.2用于SDK开发,C语言开发创建基于MicroBlaze的【BlockDesign】后,添加了【AXIUartlite】,发现烧写......