[pasecactf_2019]flask_ssti proc ssti config
2023-12-13 17:37:54
其实这个很简单
首先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删掉了,但进程并没有关闭它,所以目录下 还是会有这个文件的文件描述符,通过这个文件描述符我们即可以得到被删除的文件的内容
文章来源:https://blog.csdn.net/m0_64180167/article/details/134976379
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!