BUUCTF-[护网杯 2018]easy_tornado

题目:

/flag.txt
flag in /fllllllllllllag

/welcome.txt
render

/hints.txt
md5(cookie_secret+md5(filename))

如上,页面下面三个目录,进去以后给了三个提示

我们要知道cookie_secret的值,百度render+tornado,知道render是tornado框架的一个函数,且存在注入:https://www.cnblogs.com/cimuhuashuimu/p/11544455.html

render是python的一个模板,他们的url都是由filename和filehash组成,filehash即为他们filename的md5值。

当filename或filehash不匹配时,将会跳转到http://fe01b382-7935-4e50-8973-f09a31b53c8f.node1.buuoj.cn/error?msg=Error   页面.

所以想到需要获取cookie_secret来得到filehash

页面返回的由msg的值决定,修改msg的值形成注入,获得环境变量:error?msg={{handler.settings}}

读取cookie_secret:

按照提示算md5:

http://0bd1cb12-f23b-4ca7-9691-96b8c30f417b.node3.buuoj.cn/file?filename=/fllllllllllllag&filehash=e6c67aa6c62c654fb8b1fd76e4f3a99b

为什么这样构造payload?你仔细观察之前访问页面的url就知道了

最后flag到手

原文地址:https://www.cnblogs.com/echoDetected/p/12412027.html

时间: 2024-11-09 14:49:56

BUUCTF-[护网杯 2018]easy_tornado的相关文章

[护网杯 2018]easy_tornado

[护网杯 2018]easy_tornado 打开之后看到几个文件夹分别提示 /flag.txt flag in /fllllllllllllag /welcome.txt render /hints.txt md5(cookie_secret+md5(filename)) 尝试对file传参跳到 /error?msg=Error 显示Error tornado.render.error=error,马上想到ssti.然后开始尝试,发现ban了很多符号 ",',(,),_,%,*,+,-,/,=

刷题记录:[护网杯 2018]easy_laravel

参考链接:Laravel 相关几道题目复现 sql注入 username的sql注入,一眼就能看出来,但是admin的密码是加密过的,没法直接得到密码 public function index(Note $note) { $username = Auth::user()->name; $notes = DB::select("SELECT * FROM `notes` WHERE `author`='{$username}'"); return view('note', com

网易安全部荣膺浙江省护网2018优秀团队称号

由于网易安全部在浙江省"护网2018"网络实战***演练中心中成绩优异,上个月,浙江省网络与信息安全信息通报中心向网易安全部颁发了证书,授予其"浙江省'护网2018'优秀团队奖"称号.网易安全部荣获浙江省护网2018优秀团队 据悉,这场由浙江省公安厅主办的"护网2018"网络安全应急演练于2018年9月26日-27日在杭州举行.演练从交通.能源.金融.水利.政务服务.工控系统等重点行业领域随机选取省市县级共82家单位目标,采用资产探测.WAF绕过

2019护网杯baby_forensic

题目名称:baby_forensic题目描述:can you catch the flag?附件:“data.7z” 2019护网杯初赛的一道取证题,比赛时没做出来,赛后又研究了一下. 获取profile的类型,因为不同的系统数据结构不一样,所以需要用--profile=来指定. 这里自动猜解可能的系统类型,一般情况下第一个是正确的,如果不对每个都试一下. volatility -f /root/data.vmem imageinfo 列出所有的进程 volatility -f /root/da

2018护网杯easy_tornado(SSTI tornado render模板注入)

考点:SSTI注入 原理: tornado render是python中的一个渲染函数,也就是一种模板,通过调用的参数不同,生成不同的网页,如果用户对render内容可控,不仅可以注入XSS代码,而且还可以通过{{}}进行传递变量和执行简单的表达式. 网上看到的例子: #!/usr/bin/env python # -*- coding:utf-8 -*- from tornado.web import UIModule from tornado import escape class cust

护网杯一道crypto

1 import os 2 def xor(a,b): 3 assert len(a)==len(b) 4 c="" 5 for i in range(len(a)): 6 c+=chr(ord(a[i])^ord(b[i])) 7 return c 8 def f(x,k): 9 return xor(xor(x,k),7) 10 def round(M,K): 11 L=M[0:27] 12 R=M[27:54] 13 new_l=R 14 new_r=xor(xor(R,L),K

【强网杯2018】逆向hide

这是事后才做出来的,网上没有找到现成的writeup,所以在这里记录一下 UPX加壳,而且linux下upx -d无法解,也无法gdb/ida attach 因为是64位,所以没有pushad,只能挨个函数进入,退出,看看程序是否恢复. 当运行到一0x400dd0,发现此时已经可以看见字符串了 用dumphex的脚本来dump出内存,见hide_dump static main(void) { auto fp, begin, end, dexbyte; fp = fopen("C:\\dump.

护网杯web

首先进入网页后,观察到有sign up 点击sign up 进行注册 再点击sign in 进行登录 进入一个买辣条的界面,可以知道,5元可以买一包大辣条,多包大辣条可以换一包辣条之王,多包辣条之王可以换Flag 进入info查看余额,发现,至多可以买4包大辣条,不满足辣条之王的兑换 尝试条件竞争打开burpsuit点击大辣条的购买窗口,抓取数据 发送到Intruder,点击Positions,点击clear 点击Payloads 这里算是纠结了一下,最后想到利用条件竞争,试验发现一个账户的两个

护网行动2019

在信息化社会中,计算机和网络在军事.政治.金融.商业.人们的生活和工作等方面的应用越来越广泛,社会对计算机和网络的依赖越来越大.如果网络安全得不到保障,这将给生产.经营.个人资产.个人隐私等方面带来严重损害,甚至会使金融安全.国防安全以及国家安全面临非常严重的危险."护网行动"是国家应对网络安全问题所做的重要布局之一. "护网行动"怎么来的? 1.网络安全态势严峻 当前,随着大数据.物联网.云计算的快速发展,愈演愈烈的网络***已经成为国家安全的新挑战,国家关键信息