DeepSleep-py2的input-双写绕过

从题目提示可以知道这的知识点是python2的input函数,在python2中input函数会把用户输入的字符看作命令执行
1 | |
查看源码可以看到过滤了很多关键字,检测函数为validateInput,我们可以重写这个函数,一直返回真

控制台输入,之后就没用过滤了
1 | |
这必须要是字符,所以用str转一下,可以看到输入的字符串被回复了

甚至可以执行语句

用推导式想把flag文件内容读出时,发现有过滤

提示可以看到后台只是替换,可以双写绕过

还是不行,flag用chr绕过一下
1 | |

将列表一个个输出来,得到flag

1 | |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Lengkur!


