XCTF系列 // Web | easytornado

这篇博客主要介绍了在XCTF系列中遇到的Web挑战easytornado,涉及Tornado框架的SSTI漏洞利用。文章分析了如何通过模板注入获取cookie_secret,并利用Python的hashlib模块计算filehash来找到flag。
摘要由CSDN通过智能技术生成

前言

本题涉及到的知识点有,Tornado 的 SSTI 漏洞Tornado 中的 cookie_secret 值 以及 Python3 中的 hashlib 模块

首先大概的介绍一下 Tornado 的相关概念。

Tornado

Tornado 是使用 Python 开发的全栈式(full-stack)Web 框架和异步网络库。与以前提到过的 Flask 一样都是 Python 的一种 Web 开发框架。

Tornado render 模板注入

Tornado render 是 Python 中的一个渲染函数,也就是一种模板,通过调用的参数不同,生成不同的网页,如果用户对 render 内容可控,不仅可以注入 XSS 代码,而且还可以通过 { {}} 进行传递变量和执行简单的表达式。模板注入的相关概念在以前的文章中已经提到过,在这里就不再赘述。

由于本人对于这些框架的了解几乎为零… So,关于 SSTI in Tornado 的分析可以参考博客 Python中从服务端模板注入到沙盒逃逸的源码探索 (一) 或者 python SSTI tornado render模板注入(PS. 这篇博客写的一点都不通畅…读起来好费力啊…)

接下来具体分析分析题目。

打开题目可以看到有三个文件,逐一访问,内容如下:

  1. /flag.txt
    在这里插入图片描述
  2. /welcome.txt
    在这里插入图片描述
  3. /hints.txt
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值