某个buuctf的题(easy_tornado)
题目:http://88099f53-12b6-470a-9993-b73e4155940e.node3.buuoj.cn/
1首先看三个文件的内容



2简单分析
如果出题人没整一些花里胡哨的,那么flag就在fllllllllllg文件里面
从这几个文件的网址看flag应该在/file?filename=/flllllllllllg&filehash=某个哈希值。
在从hints.txt可见这个哈希值=md5(cookie_secret+md5(flllllllllg)).
tip我在此时的想法
想办法破解出cookie_sercret(这是cookie的签名,解不出来,有兴趣可以网上查一查)
我们已知三个文件名进行以上运算的结果,我想这可能是个解密题。
经尝试后一脸懵逼,显然解不出来。
3需要经验的一步
经过上面的尝试后我又看了一遍题(easy_tornado),网上一搜,出来的都是这个题的解题方法,先不要管这些。我们在根据welcome.txt中的render字样(题目给的东西一般会有用),搜索render函数可以得到如下:

至于为什么搜py中的renger函数,你搜renger函数大多都是关于py的
可知renger是进行内容渲染的而且render会执行内部参数,如2*3回渲染出来6。
到这里只是猜测render有用。(有经验的人可能知道renger的用法)
4或许你尝试过
当我不知道下一步怎么做的时候我试着将别的文件带入网址中的hash值放在那个hash值的位置(显然不会的到结果)

网址这个东西在这种简单的网页里面是很重要的。(我们几乎只能在网址栏里进行操作)----------论网址的重要性
这里观察到网址中是将Error传递给msg(在想一想renger的作用),试一下随便传点啥。

可以看到我随便输的被渲染出来了,(这就很清楚了,是个注入的题)
5如何注入
我试了一下2*3,结果它输出ORZ,百度一下知道这是我的2x3是被它墙了(其实百度到的是“ ○| ̄|_ ”(看百度百科就知道我是被调侃了,不过没事最起码说明我注入的思路没问题))。
至于如何注入,我也是第一次见这种注入,直接看了教程。百度上搜题目很容易找到。
6重中之重
做到最后直接超答案显然不是我的风格。跟着答案我发现了一片新天地。
已经过了24点了,明天再写。
sayounana~~
某个buuctf的题(easy_tornado)的更多相关文章
- Buuctf刷题:部分
get_started_3dsctf_2016 关键词:ROP链.栈溢出.mprotect()函数 可参考文章(优质): https://www.cnblogs.com/lyxf/p/12113401 ...
- BUUCTF刷题记录(Web方面)
WarmUp 首先查看源码,发现有source.php,跟进看看,发现了一堆代码 这个原本是phpmyadmin任意文件包含漏洞,这里面只不过是换汤不换药. 有兴趣的可以看一下之前我做的分析,http ...
- BUUCTF刷题系列(2)5.27日记
CTF-Bugku-安卓篇1signin Writeup Bugku安卓部分第一题,第七届山东省大学生网络安全技能大赛的题目,属于Android逆向分析.(常用工具:安卓模拟器.JEB.Cyberch ...
- buuctf刷题之旅—web—EasySQL
打开环境,发现依旧是sql注入 GitHub上有源码(https://github.com/team-su/SUCTF-2019/tree/master/Web/easy_sql) index.php ...
- buuctf刷题之旅—web—随便注
打开环境 根据提示应该是sql注入 查看数据库名,和数据表 1';show databases;# 1';show tables;# 查看表内字段(1';desc `1919810931114514` ...
- buuctf刷题之旅—web—WarmUp
启动靶机 查看源码发现source.php 代码审计,发现hint.php文件 查看hint.php文件(http://7ab330c8-616e-4fc3-9caa-99d9dd66e191.nod ...
- BUUCTF刷题系列(1)5.25日记
前面的题目都不太难,就直接从SQL注入开始了. 这个样子的话,明显就是注入,我们先拿出SQL语句:http://fb415201-6634-4fc3-a6bc-a67b84ea1ed2.node3.b ...
- BUUCTF刷题记录(更新中...)
极客大挑战 2019]EasySQL-1 直接通过输入万能密码:' or 1=1#实现注入: 思考:服务端sql语句应该为:select * from users where username='xx ...
- buuctf刷题记录
极客大挑战 2019]EasySQL-1 直接通过输入万能密码:' or 1=1#实现注入: 思考:服务端sql语句应该为:select * from users where username='xx ...
随机推荐
- OpenCV 传统分割测试
github官网源文件:https://github.com/opencv/opencv/tree/master/samples/python 最好是先克隆整个仓库下来,再测试里面的:floodfil ...
- 关于innodb中MVCC的一些理解
一.MVCC简介 MVCC (Multiversion Concurrency Control),即多版本并发控制技术,它使得大部分支持行锁的事务引擎,不再单纯的使用行锁来进行数据库的并发控制,取而代 ...
- 剑指 Offer 34. 二叉树中和为某一值的路径
剑指 Offer 34. 二叉树中和为某一值的路径 输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径.从树的根节点开始往下一直到叶节点所经过的节点形成一条路径. 示例: 给定如下 ...
- Python之requests模块-hook
requests提供了hook机制,让我们能够在请求得到响应之后去做一些自定义的操作,比如打印某些信息.修改响应内容等.具体用法见下面的例子: import requests # 钩子函数1 def ...
- css文本溢出省略号大总结,如你所愿
一行: white-space: nowrap; text-overflow: ellipsis; overflow: hidden; word-break: break-all; 两行: width ...
- noip模拟36
\(\color{white}{\mathbb{荷花映日,莲叶遮天,名之以:残荷}}\) 今天再次翻车掉出前十 开题看错 \(t1\) 以为操作2的值固定发现是个简单题,然后 \(t2\) 开始大力 ...
- 除PerfDog之外,还有什么性能测试工具。
除PerfDog之外,还有什么性能测试工具. 高通的Snapdragon Profiler 下载地址:https://developer.qualcomm.com/software/snapdrago ...
- sync 修饰符在Vue中如何使用
在有些情况下,我们可能需要对一个 prop 进行"双向绑定".不幸的是,真正的双向绑定会带来维护上的问题,因为子组件可以修改父组件,且在父组件和子组件都没有明显的改动来源. 这 ...
- CentOS获取公网IP
Curl 纯文本格式输出: curl icanhazip.com curl ifconfig.me curl curlmyip.com curl ip.appspot.com curl ipinfo. ...
- 使用 elementUI 的表单进行查询,表单中只有一个文本框时,回车会自动触发表单的提交事件,导致页面的刷新。
使用elementUI的el-form组件进行查询时,当输入框仅有一项时,回车自动提交表单,浏览器会刷新页面: 原因:由于当表单只有一个文本框时,按下回车将会触发表单的提交事件, 从而导致页面刷新. ...