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

[pasecactf_2019]flask_ssti proc ssti config

其实这个很简单

Linux的/proc/self/学习-CSDN博客

首先ssti 直接fenjing一把锁了

这里被加密后 存储在 config中了 然后我们去config中查看即可

{{config}}

可以获取到flag的值

-M7\x10w@d94\x02!`-\x0eL\x0c;\x07(DKO\r\x17!2R4\x02\rO\x0bsT#-\x1c`@Z\x1dG

然后就可以写代码解密

def encode(line, key, key2):return ''.join(chr(x ^ ord(line[x]) ^ ord(key[::-1][x]) ^ ord(key2[x])) for x in range(len(line)))flag = "-M7\x10w@d94\x02!`-\x0eL\x0c;\x07(DKO\r\x17!2R4\x02\rO\x0bsT#-\x1c`@Z\x1dG"flag = encode(flag, 'GQIS5EmzfZA1Ci8NslaoMxPXqrvFB7hYOkbg9y20W3', 'xwdFqMck1vA0pl7B8WO3DrGLma4sZ2Y6ouCPEHSQVT')print(flag)

因为都是异或  异或的异或就是 原本 所以不需要修改

就可以输出flag

proc

还有另一个方法 存储在 proc中

首先我们可以执行命令了

查看一下进程 ps

发现app的进程在pid为1

我们去查看

ls /proc/1/fd

这里其实没有这么多 因为我靶场没有关 原本只有 1-5 所以我们开始访问 可以在3 获取到flag

这里的原理

fd是一个目录,里面包含着当前进程打开的每一个文件的描述符,然后虽然他把flag删掉了,但进程并没有关闭它,所以目录下 还是会有这个文件的文件描述符,通过这个文件描述符我们即可以得到被删除的文件的内容

相关文章:

  • MySQL的事务以及springboot中如何使用事务
  • Java研学-HTML
  • mysql 导入时遇到 的解决 Variable ‘time_zone‘ can‘t、‘character_set_client‘问题
  • C语言----文件操作(二)
  • 异地现场工控设备,如何实现远程配置、调试?
  • MIT6.5840-2023-Lab2C: Raft-Persistence
  • 深入理解网络 I/O:单 Group 混杂模式|多 Group 主从模式
  • 设计模式——策略模式(Strategy Pattern)
  • 设计模式—策略模式
  • 张正友相机标定法原理与实现
  • 如何将xlsx中的数据通过datagrep导入到mysql数据库表中
  • Spring概述
  • 使用Go实现一个百行聊天服务器
  • leetcode
  • v-md-editor高级使用之自定义目录
  • 03Go 类型总结
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • E-HPC支持多队列管理和自动伸缩
  • HashMap剖析之内部结构
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • Laravel核心解读--Facades
  • LeetCode29.两数相除 JavaScript
  • Mysql5.6主从复制
  • python大佬养成计划----difflib模块
  • Ruby 2.x 源代码分析:扩展 概述
  • vue的全局变量和全局拦截请求器
  • Webpack 4 学习01(基础配置)
  • 好的网址,关于.net 4.0 ,vs 2010
  • 聊一聊前端的监控
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 普通函数和构造函数的区别
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 使用putty远程连接linux
  • 世界上最简单的无等待算法(getAndIncrement)
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 消息队列系列二(IOT中消息队列的应用)
  • 进程与线程(三)——进程/线程间通信
  • ​ArcGIS Pro 如何批量删除字段
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • ###C语言程序设计-----C语言学习(3)#
  • #{} 和 ${}区别
  • #if 1...#endif
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (2)(2.10) LTM telemetry
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (转)JAVA中的堆栈
  • (转)linux 命令大全
  • .aanva
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别