首页 > 其他分享 >[护网杯 2018]easy_tornado

[护网杯 2018]easy_tornado

时间:2023-10-09 14:26:27浏览次数:29  
标签:txt filehash settings tornado secret handler cookie 2018 护网杯

原理

模板render的handler.settings窃取cookie_secret

解题过程

进入靶场有三个超链接

查看原代码看到三个超链接地址

<a href='/file?filename=/flag.txt&filehash=85e5682df55f8ca33e9d791703ca4cb1'>/flag.txt</a><br/><a href='/file?filename=/welcome.txt&filehash=572b307bc65f04c7b2b2b7c9cfe7658b'>/welcome.txt</a><br/><a href='/file?filename=/hints.txt&filehash=ae66a9a1765a71cb778088394c52c7eb'>/hints.txt</a>

/flag.txt超链接提示我们flag的位置/fllllllllllllag

/welcome.txt提示我们render??之后才知道是模板注入
/hints.txt应该是提示我们filehash如何生成的

可以猜测这是文件包含,如果我们要查看/fllllllllllllag的内容,得需要构造出filehash,也就是找出cookie_secret
如果输入和filehash不匹配的文件名,就会出现这样的提示界面

cookie_secret简介

普通的cookie并不安全,可以通过客户端修改

在Tornado框架中,cookie_secret是一个密钥,一般使用随机生成的字符串,被用于对生成的cookie进行加密。它的作用是确保cookie的安全性,防止被修改或伪造。

具体来说,当Tornado应用程序使用set_secure_cookie()函数设置cookie时,会使用cookie_secret对cookie进行加密。而在获取cookie时,Tornado则会使用同样的密钥进行解密,并验证cookie是否被篡改。如果cookie_secret不匹配,Tornado将不会对其进行解密,并抛出异常,以防止未经授权的访问。
handler.settings

以下是gpt的答案,因为还没有学过这个模版相关的知识,所以直接复制来的

`handler.settings`在Tornado框架中是一个字典,用于存储应用程序的各种配置选项。其中包括一些默认的配置选项,也可以自定义添加其他配置选项。

在Tornado框架中,`cookie_secret`是`handler.settings`字典中用于配置cookie密钥的一个选项。Cookie密钥是用于加密和验证cookie的字符串,它应该是一个随机且足够长的字符串,用于保证cookie的安全性和完整性。

说明我们可以利用handler.settings,去访问一些配置,就能得到cookie_sercret的键值对,这样我们就可以通过hints文件提供的算法,求得filehash的值

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

拿到cookie_secret之后就构造filehash

import hashlib
 
filename = '/fllllllllllllag'
cookie_secret = ''
filename =  hashlib.md5(filename.encode()).hexdigest()
a = cookie_secret + filename
filehash = hashlib.md5(a.encode()).hexdigest()
print(filehash)

或者用工具生成

生成filehash之后最终拿到flag

参考文章:https://blog.csdn.net/qq_49893996/article/details/131885110

标签:txt,filehash,settings,tornado,secret,handler,cookie,2018,护网杯
From: https://www.cnblogs.com/BEONTHE/p/17751593.html

相关文章

  • [BUUCTF 2018]Online Tool
    原理绕过escapeshellarg+escapeshellcmd函数nmap写入木马解题过程学习一下两个函数使用时的绕过思路参考文章:https://blog.csdn.net/lzu_lfl/article/details/130780808https://blog.51cto.com/u_15400016/4295953--这个文章的payload的左括号不对......
  • 文本分类 2018-2020 文献分析
    文本分类转自https://mp.weixin.qq.com/s/0hKzedHimfPtWgzEk49YzAhttps://mp.weixin.qq.com/s/0hKzedHimfPtWgzEk49YzA ASurveyonTextClassification:FromShallowtoDeepLearning,2020[1]     2018Multi-grainedattentionnetworkforaspect-level......
  • [网鼎杯 2018]Fakebook
    原理sql注入关键字绕过反序列化ssrf解题过程进入靶场,有登录按钮和注册按钮。查看页面原代码,对应是login.php和join.php,先注册一个看看有什么blog随便输发现会报错,其他也是,那试试输入一个网站呢?输入www.baidu.com发现可以进入这个界面,先看看原代码吧发现这个按钮的地......
  • [TJOI2018] 游园会题解
    [TJOI2018]游园会(dp套dp)目录[TJOI2018]游园会(dp套dp)前言:题目简化:解题思路:较为简单的一步:较为困难的步骤思路总结代码呈现:注释/后记:前言:这是和dp套dp的初遇,这不得好好了解一下。题目简化:先把题目进行简化,就是要构造字符串,对于$len\in[0,k]$满足以下条件:只包含......
  • 【基环树 | 题解】P5022 [NOIP2018 提高组] 旅行
    前言一日知基环树弱,固补题。关于基环树基环树定义一个环,环上每个点都有一颗以该点为根的树,如下图为一棵基环树关于基环树常规思路通常来说基环树常规思路是先处理环上树的结果,后通过树的结果来处理换上结果。具体处理方式依照题目来定。然而只是通常来说因为基环树的问......
  • The 2018 ACM-ICPC Asia Qingdao Regional Contest, Online (The 2nd Universal Cup
    The2018ACM-ICPCAsiaQingdaoRegionalContest,Online(The2ndUniversalCup.Stage1:Qingdao)J-PresstheButton\(1\leqa,b,c,d\leq10^6\)题解容易发现存在循环节,每次位于\(gcd(a,c)\)的倍数的位置所以我们考虑处理一个循环节内的情况如果\(v\le......
  • 系统架构设计师历年(2009-2018)论文题目
    2009论文一:论基于DSSA的软件架构设计与应用论文二:论信息系统建模方法论文三:论基于REST服务的Web应用系统设计论文四:论软件可靠性设计与应用2010论文一:论软件的静态演化和动态演化及其应用论文二:论数据挖掘技术的应用论文三:论大规模分布式系统缓存设计策略论文四:论软件可靠性......
  • [网鼎杯 2018]Fakebook
    这是一道SQL联合注入与ssrf的题目解题过程进入链接发现是一个注册登录界面。在登录页面尝试注入没有作用。先随便注册一个用户登录后点击用户名跳转到详情界面随手测试发现存在报错,大概率有SQL注入1and1=2无回显测试为数字型注入尝试union联合注入,1orderby4查询......
  • P5015 [NOIP2018 普及组] 标题统计
    题目描述传送门凯凯刚写了一篇美妙的作文,请问这篇作文的标题中有多少个字符?注意:标题中可能包含大、小写英文字母、数字字符、空格和换行符。统计标题字符数时,空格和换行符不计算在内。输入格式输入文件只有一行,一个字符串\(s\)。输出格式输出文件只有一行,包含一个整数,即作......
  • P5299 [PKUWC2018] Slay the Spire
    P5299[PKUWC2018]SlaytheSpire洛谷:P5299[PKUWC2018]SlaytheSpireLOJ:#2538.「PKUWC2018」SlaytheSpire前言:请分清楚使用和抽取。九条要抽取\(m\)张牌,但只会使用\(k\)张牌。首先考虑当抽出的\(m\)张牌确定时的策略:记\(m\)张牌中强化牌的数量为\(c\)。......