首页 > 其他分享 >[护网杯 2018]easy_tornado

[护网杯 2018]easy_tornado

时间:2024-11-02 23:42:22浏览次数:1  
标签:txt filehash tornado 用户 引擎 2018 护网杯 模板

题目链接:https://buuoj.cn/challenges#[护网杯 2018]easy_tornado

打开环境后如下所示。

依次访问。

这里需要留意一下 url,在访问 flag.txt 时,发现 url 为:/file?filename=/flag.txt&filehash=f37c974391ee4a7bc4a23cc8987e0eed。

尝试将 filehash 参数更改掉,发现被重定向到:/error?msg=Error。

关注到 welcome.txt 的内容:render,并且题目名为:tornado,可以知道,本题的考点是模板注入。

模板引擎(这里特指用于 Web 开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,利用模板引擎来生成前端的 HTML 代码。模板引擎会提供一套生成 HTML 代码的程序,然后只需要获取用户的数据,然后放到渲染函数里,然后生成模板 + 用户数据的前端 HTML 页面,然后反馈给浏览器,呈现在用户面前。模板引擎也会提供沙箱机制来进行漏洞防范,但是可以用沙箱逃逸技术来进行绕过。

SSTI 就是服务器端模板注入(Server-Side Template Injection)。当前使用的一些框架,比如 Python 的 Flask,PHP 的 ThinkPHP,Java 的 Spring 等一般都采用成熟的的 MVC 的模式,用户的输入先进入 Controller 控制器,然后根据请求类型和请求的指令发送给对应 Model 业务模型进行业务逻辑判断,数据库存取,最后把结果返回给 View 视图层,经过模板渲染展示给用户。漏洞成因是服务端接收了用户的恶意输入以后,未经任何处理就将其作为 Web 应用模板内容的一部分,模板引擎在进行目标编译渲染的过程中,执行了用户插入的可以破坏模板的语句,因而可能导致了敏感信息泄露、代码执行、GETSHELL 等问题。其影响范围主要取决于模版引擎的复杂性。凡是使用模板的地方都可能会出现 SSTI 的问题,SSTI 不属于任何一种语言,沙盒绕过也不是,沙盒绕过只是由于模板引擎发现了很大的安全漏洞,然后模板引擎设计出来的一种防护机制,不允许使用没有定义或者声明的模块,这适用于所有的模板引擎。

因此,参考:Tornado模板注入。在 msg 处插入注入代码,Payload:error?msg={{handler.settings}},成功输出了 cookie_secret。

依照 hints.txt 的提示进行计算,计算出 filehash 为:70bc8d34f07c4b64e65b21a92cd10c85。

访问:/file?filename=/fllllllllllllag&filehash=70bc8d34f07c4b64e65b21a92cd10c85,即可获得 flag。

标签:txt,filehash,tornado,用户,引擎,2018,护网杯,模板
From: https://www.cnblogs.com/imtaieee/p/18522723

相关文章

  • P4898 [IOI2018] seats 排座位
    题目链接主要算法:线段树(虚假的),奇技淫巧(真正的)思路:1.初步:考虑如何保证一个区间坐好后是一个矩形,有一个思路从另一个题中启示我们维护\(xmin,xmax,ymin,ymax\),但是这样无法保证在中间挖一个空的情况(有一个别的题解,可以染色后维护四个角和一个判框的东西),但我们觉得就算可以维......
  • [HCTF 2018]WarmUp
    题目链接:https://buuoj.cn/challenges#[HCTF2018]WarmUp打开环境后如下。查看页面源代码,发现存在提示"source.php"。<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"conte......
  • Adobe Acrobat Pro 2024 v24.3.20180 (macOS, Windows) - 创建、转换和编辑 PDF
    AdobeAcrobatPro2024v24.3.20180(macOS,Windows)-创建、转换和编辑PDFAdobeAcrobatPDFsoftware请访问原文链接:https://sysin.org/blog/adobe-acrobat查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgAcrobat:创建、转换和编辑PDF借助Acrobat实现各种......
  • 2024.10.4 2018-2019 ACM-ICPC Southeastern European Regional Programming Contest
    比赛链接Solved:7/11Penalty:914Rank:1/74Rank(vp):63/1k+Dirt:22%G答案是4*纯色块数+5。考虑怎么维护这个纯色块数。这道题的修改保证了一个块纯色当且仅当其行列都纯色。因此对行列分别维护一棵线段树,维护每一层分别有多少个纯色节点,按层乘起来相加就行。K1操作的增加量......
  • 题解:P7306 [COCI2018-2019#1] Strah
    分享一个\(O(nm\logm)\)的方法。分析考虑每次在\(x\)轴上固定左端点,然后移动\(x\)轴上的右端点,并统计答案。考虑如何统计一个\(1\timesn\)的区域的贡献。显然长度为\(i\)的区间有\(n-i+1\)个,所以贡献即为:\[\begin{aligned}f(n)=&\sum^n_{i=1}i\left(n-i+1\ri......
  • 1-petalinux2018.3摸索记录-petalinux-config
    1-petalinux2018.3摸索记录-petalinux-config一、petalinux-config的具体配置-ZYNQMPConfiguration​​1、LinuxCompomentSelection​​LinuxCompomentSelection,Linux组件选择.FirstStageBootloader和Autoupdateps_init勾选会自动生成fsbl.elf,自动更新ps_i......
  • 0-petalinux2018.3摸索记录-快速亮机
    0-petalinux2018.3摸索记录-快速亮机一、环境搭建1、环境要求①需要注意petalinux、vivado、vitis、linux之间的版本对应关系,在ug1144上可以找到②需要注意linux的硬件要求,运存8G以上不然会报错等等2、环境依赖配置2018.3_PetaLinux_Package_List.xls......
  • 4-petalinux2018.3摸索记录-linux驱动(交叉编译)
    4-petalinux2018.3摸索记录-linux驱动(交叉编译)前面通过petalinux-build完成了镜像的编译生成,通过命令行完成了GPIO的驱动,接下来记录如何使用C语言在Linux通过交叉编译的方式完成xilinx-linux设备驱动的开发。学习过程中发现,大部分厂商的教程都是提供一套带脚本的环境,......
  • 3-petalinux2018.3摸索记录-命令驱动_交叉编译链
    3-petalinux2018.3摸索记录-命令驱动_交叉编译链一、命令行控制GPIO对于ps端设备,在板卡的linux系统中,切换到/sys/class/gpio​路径下可以看到目前挂载的gpio设备。export:导入用户空间gpiochip:系统中gpio寄存器信息unexport:移除用户空间​​以MIO40......
  • 2-petalinux2018.3摸索记录-petalinux rootfs
    2-petalinux2018.3摸索记录-petalinuxrootfs​​1FilesystemPackages文件系统软件包2PetalinuxPackageGroupsPetalinux软件包组3ImageFeatures镜像特性4apps应用程序5userpackages用户软件包6PetalinuxRootFSSettingsPetalinux根......