某个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 ...
随机推荐
- 根据经纬度查询最近距离,mysql查询经纬度附近范围
public class Test{ private static List<LocalAddress> ilist = new ArrayList<LocalAddress> ...
- 理解ASP.NET Core - [02] Middleware
注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 中间件 先借用微软官方文档的一张图: 可以看到,中间件实际上是一种配置在HTTP请求管道中,用 ...
- Javascirpt 面向对象总结-继承
JS继承的实现方式 既然要实现继承,那么首先我们得有一个父类,代码如下: // 定义一个动物类 function Animal (name) { // 公有属性 this.name = name || ...
- 为开源项目 go-gin-api 增加后台任务模块
目录 任务管理界面 (WEB) 任务调度器 任务执行器 小结 推荐阅读 任务管理界面 (WEB) 支持在 WEB 界面 中对任务进行管理,例如:新增任务.编辑任务.启用/禁用任务.手动执行任务 等. ...
- 【Elasticsearch】.NetCore中Elasticsearch组件NEST的使用
.NetCore中Elasticsearch组件NEST的使用 1. 安装Docker # 安装Docker curl -fsSL https://get.docker.com | bash -s d ...
- noip模拟48
A. Lighthouse 很明显的容斥题,组合式与上上场 \(t2\) 一模一样 注意判环时长度为 \(n\) 的环是合法的 B. Miner 题意实际上是要求偶拉路 对于一个有多个奇数点的联通块, ...
- error : Hooks can only be called inside of the body of a function component. 依赖包和主包加载多个react 引发冲突问题
1. 结论: 在依赖包和主包的node-modules中,同时install包含react , react-dom 或者react-redux时,跑测试或者启动的时候,显示如下error.当然出现这个 ...
- Golang入门学习(五):异常处理
文章目录 2.5 错误处理机制 2.5.1 基本说明 2.5.2 入门示例 2.5.3 自定义错误 2.5 错误处理机制 2.5.1 基本说明 Go语言追求简洁优雅,因此并不支持传统的try-catc ...
- python模块--collections(容器数据类型)
Counter类(dict的子类, 计数器) 方法 返回值类型 说明 __init__ Counter 传入可迭代对象, 会对对象中的值进行计数, 值为键, 计数为值 .elements() 迭代器 ...
- Markdown时序图--基础语法
时序图 序列图是一种交互图,它显示了流程以何种顺序相互操作. Mermaid可以渲染序列图,如下定义. sequenceDiagram Alice->>John:Message Hel ...