web buuctf [护网杯 2018]easy

编程入门 行业动态 更新时间:2024-10-24 16:26:49

web <a href=https://www.elefans.com/category/jswz/34/1765501.html style=buuctf [护网杯 2018]easy"/>

web buuctf [护网杯 2018]easy

分解信息量:

1.题目名称是easy-tornado:tornado是python的web框架(web框架的产生是避免程序代码与html编码的编码混乱性,框架将传参过程进行独立)

2.打开一共三个链接,分别点开

/flag.txt 提示内容:flag in /fllllllllllllag ,意思就是flag在文件fllllllllllllag里面,需要考虑怎么进入文件里面

/welcome.txt 提示内容:render,render是tornado里面的渲染函数,就是对web网页界面进行编辑的函数,和template的渲染是相似的,主要区别render是以脚本的方式进行渲染,template是以html方式进行渲染。这个重点在于是服务器模板,基本可以确定这是ssti(服务器模板注入),服务器模板注入和sql注入等有相同性,问题的关键在于传参

/hints.txt 提示内容:md5(cookie_secret+md5(filename)),md5就是哈希编码

3.根据打开链接的url,里面有两个参数一个是filename,一个是filehash,也就是说filename是第一个文件的提示,filehash是第三个文件的提示,那么问题就是如何获取cookie_secret。

cookie_secret不是通用的属性,也就可以确定,应该是存放在服务器模板中的值,问题就转化为通过传参获取cookie_secret的值。

4.还有一个问题就是参数如何传进去,因为是服务器模板,我们需要进入服务器返回的链接进行传参,我们随便改一下filename,我改成111,传进去之后,无法识别,返回链接:81/error?msg=Error

也就是通过msg的值进行传参

5.Templates and UI — Tornado 6.1 documentation这个链接是tornado的官方文档,一个是通过文档我们获知传参的类型,另外一个是找到cookie_secret的赋值方法

为了不让大家去翻文档查找,我给大家把有用的内容截取下来

a.在template syntax中

传递的参数值应为{{值}}的格式

b.搜索cookie_secrue

 

cookie_secret在tornado.web.RequestHandler中的application的settings中,也就是需要传参RequestHandler.application.settings,但是传过去提示500,

在语法中其实有提示

然后有

所以传参应为{{handler.settings}},得到

 6.用在线加解密方式进行md5计算得到filehash

flag{714597c9-0d1d-4c92-a960-4b2d1bd1f172} 

 

 

更多推荐

web buuctf [护网杯 2018]easy

本文发布于:2024-02-07 04:50:57,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1753511.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:buuctf   web   护网杯   easy

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!