[pasecactf_2019]flask_ssti
题目本身出的很诡异,flag删了然后源码里面放了一个憨批对称加密函数,加密过的flag放进了config里面,config可以直接看(BUU题目描述上的那个加密函数是错的),过滤了单引号点号下划线
目标是读源码
题解
只过滤了单引号,双引号还能用,python单双引号好像没有什么大的区别,留了一个能用的就行
单双引号全挂了还过滤字符的话就只能用上次DASCTF的凑%c
和全数字,然后一个个格式化字符串凑字母表
这里不用太麻烦,直接在双引号里面用十六进制\\x00
就能绕过下划线的过滤,点号的过滤用方括号代替,一样能访问属性。
然后随便找个常用payload读文件就能打通。这次的记录主要是重新学习总结了一下SSTI相关的东西,找个机会开一篇文章