[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删掉了,但进程并没有关闭它,所以目录下 还是会有这个文件的文件描述符,通过这个文件描述符我们即可以得到被删除的文件的内容
相关推荐
65岁退休Coder44 分钟前
LangGraph v1.2.9 节点容错策略 & 流式输出 & 持久化记忆管理
后端·python·langchain
元界metalite3 小时前
SpringBoot整合RocketMQ-毒丸消息还要无限重试吗
后端
SimonKing3 小时前
升级Spring Boot 4后,从 Jackson 2 到 3,到底有哪些变化
java·后端·程序员
YIAN3 小时前
Docker + Nginx 核心原理扫盲:从环境隔离到反向代理,运维面试必考点
后端·docker·面试
万物智能3 小时前
启动链路与分区—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
后端·架构
寒蝉1283 小时前
一个简单操作是怎么在分布式环境下变复杂的
后端
苏三的开发日记3 小时前
Windows宿主机+VMware CentOS虚拟机 + 同一个Wi-Fi下的其他实体电脑,三者可以互相访问
后端
boooooooom3 小时前
手把手做一个图 RAG 烹饪问答系统:Neo4j + Milvus + LLM 的工程实践
前端·javascript·后端
ikun_文3 小时前
Django框架路由Router的使用
python·pycharm·django
newerp3 小时前
Golang 切片底层结构
后端·程序员·go