CTF笔记

[学习笔记]攻防世界—easy_web

2025-03-17
1 分钟40 字

打开场景

输入没什么用,我们用Burpsuite抓包试试

响应里面有 Werkzeug/2.0.2 Python/3.7.12 ,说明运行的是 Flask框架 ,我们可以尝试 SSTI 模版注入

提示包含限制字符,可能是 {} 被过滤了,我们尝试用其他的符号替换

这里我看了其他人的WP,最后使用了 符号替换了 {}

网站工具链接: https://www.ip138.com/

参考链接: https://blog.csdn.net/yuanxu8877/article/details/128101173

我们再发包试试(Burpsuite里面的特殊字符显示成方框了)

成功了,我们可以使用常用的 SSTI 命令查看所有模块:

︷︷[].__class__.__base__.__subclasses__()︸︸

我们需要找到 Popen类,搜索一下

我操作了一下,最后找到了他的行数286

我尝试构造了命令来ls文件:

‘单引号也被过滤了,我使用的是'

︷︷[].__class__.__base__.__subclasses__()[285].__init__.__globals__[os].popen(ls).read()︸︸

我们再次向上查询flag,这里用空格会出问题,我们用+来代替空格

最后用cat直接查询flag

成功得到flag

flag{8f604f91-c36a-4413-bdaf-e786ffbfda61}

SSTI注入命令参考链接: https://blog.csdn.net/weixin_54515836/article/details/113778233

许可协议: CC BY-SA 4.0 。转载请注明出处,允许商用;改编/转载须以相同许可(CC BY-SA 4.0)发布。如有问题请联系我。