• 2024-09-10SSTI从0到入门
    SSTI基础flask的ssti模板引擎+注入模板只是一种提供给程序来解析的一种语法,换句话说,模板是用于从数据(变量)到实际的视觉表现(HTML代码)这项工作的一种实现手段,而这种手段不论在前端还是后端都有应用。通俗点理解:拿到数据,塞到模板里,然后让渲染引擎将赛进去的东西生成html的文本,
  • 2024-07-31[Bugku] web-CTF靶场详解!!!
               平台为“山东安信安全技术有限公司”自研CTF/AWD一体化平台,部分赛题采用动态FLAG形式,避免直接抄袭答案。          平台有题库、赛事预告、工具库、Writeup库等模块。-------------------------------Simple_SSTI_1         
  • 2024-07-31[GYCTF2020]FlaskApp (pin码,jinja2绕过注入)
    题目就是flask下面是判断模版注入的方法a{*comment*}b和{{7*'7'}}base64编码后解码都报错no,无法判断模版引擎直接用下jinja2的试一试,把编码后的密文拿去解码,payload:{{"".__class__mro(2)__subclasses__()}}报错是jinja2后面就整不会了,看别人的wp整理一下:由于不
  • 2024-07-30bugku攻略
    目录第一关(Simple_SSTI_1)第二关(Simple_SSTI_2)第三关(Flask_FileUpload)第四关(留言板)第五关(滑稽)第一关(Simple_SSTI_1)查看源码,需要我们在flask里建立一个SECRET_KEY直接访问URL+?flag={{config.SECRET_KEY}}得到flag输入flag第二关(Simple_SSTI_2)查看源码
  • 2024-07-30Bugku:Simple_SSTI_2
    目录1.进入网站查看题目2.开始尝试3.判断引擎模板类型4.构造语句,开始注入5.得到flag1.进入网站查看题目再查看源代码,发现没有什么有用的。根据题目提示SSTI,搜索一下SSTI,了解一下。  SSTI(服务器端模板注入)也是格式化字符串的一个非常好的例子,如今的开发已经形成
  • 2024-07-27最长的Hello, World!(Python)
    最长的Hello,World!(Python)(lambda_,__,___,____,_____,______,_______,________:getattr(__import__(True.__class__.__name__[_]+[].__class__.__name__[__]),().__class__.__eq__.__class__.__name__[:__]+().__iter__().__cla
  • 2024-07-24实验说明 - ssti
    实验名称简单的ssti实验简介是一种针对服务器端模板的注入漏洞。实验说明攻击者将恶意代码输入到模板服务器在执行时未对恶意代码进行处理就输出执行将字符串当作模板执行ssti注入就是使其渲染我们想要执行的的字符串实验步骤步骤一:输入{{7*7}}判断类型步骤二:{{
  • 2024-07-23CTF-SSTI模板注入
    SSTI就是服务器端模板注入(Server-SideTemplateInjection)当前使用的一些框架,比如python的flask,php的tp,java的spring等一般都采用成熟的的MVC的模式,用户的输入先进入Controller控制器,然后根据请求类型和请求的指令发送给对应Model业务模型进行业务逻辑判断,数据库存取,最后把结
  • 2024-07-19攻防世界Web_python_template_injection(新手模式)
    二、Web_python_template_injection1.基本知识点模版引擎模版引擎可以让(网站)程序实现界面与数据分离,业务代码与逻辑代码的分离,这大大提升了开发效率,良好的设计也使得代码重用变得更加容易,但是模板引擎也拓宽了我们的攻击面,注入到模板中的代码可能会引发RCE或者XSS。在Jinja2
  • 2024-07-13[HNCTF 2022 WEEK2]ez_SSTI
    [HNCTF2022WEEK2]ez_SSTIpayload:?name={{''.__class__.__base__.__subclasses__()[137].__init__.__globals__['__builtins__']['eval']('__import__("os").popen("catflag").read()')}}1.首先输入{{8*8}}判
  • 2024-06-02LitCTF2024 web复盘
    昨天61,本来打算出去玩玩,看到有比赛那就做做。题目总体来说不难,就是没有提示试错太多了,复盘下昨天的一些东西(今天NSS上靶机没上线,文字描述吧)。exx常规的xxe漏洞直接打就行,file:///flagSAS-SerializingAuthenticationSystem极其简单的反序列化,直接构造使其满足isvaild的
  • 2024-06-01SSTI
    SSTI模板引擎:动态数据和静态模板结合产生的输出工具ssti:是服务器端的模板注入漏洞攻击者将恶意代码输入到模板服务器在执行时未对恶意代码进行处理就输出执行将字符串当作模板执行ssti注入就是使其渲染我们想要执行的的字符串为什么要用{}{{}}在jinja2中作为变量包裹
  • 2024-06-01SSTI
    SSTI模板引擎:动态数据和静态模板结合产生的输出工具ssti:是服务器端的模板注入漏洞攻击者将恶意代码输入到模板服务器在执行时未对恶意代码进行处理就输出执行将字符串当作模板执行ssti注入就是使其渲染我们想要执行的的字符串为什么要用{}{{}}在jinja2中作为变量包裹
  • 2024-05-03[CSCCTF 2019 Qual]FlaskLight
    [CSCCTF2019Qual]FlaskLight打开环境源代码里发现可通过GET方式传入参数简单验证发现存在SSTI{{''.__class__.__mro__[2].__subclasses__()}}#可以爆出所有的类编写脚本查找可利用的类利用subprocess.Popen执行命令importrequestsimportreimporthtmlimportt
  • 2024-04-28[GYCTF2020]FlaskApp
    [GYCTF2020]FlaskApp打开环境是一个base64编解码的网站提示里是一张图片源码提示PIN尝试输入错误字符看看页面结果,于是在解码页面输入123有源码泄露@app.route('/decode',methods=['POST','GET'])defdecode():ifrequest.values.get('text'):text=r
  • 2024-04-25SSTI.
    SSTI晚上学长讲了ssti我好像要长脑子了..源于一道ssti的签到题sstissti:服务器端模板注入漏洞{为什么利用{{}}来执行ssti语句a=''.__class__.__base__.__subclasses__()‘’一个实例例如print('i')//打印字符串__class__类的内置属性,返回该实例的类型__base__
  • 2024-02-21sstilab
    sstilablevel1无过滤{{''.__class__.__base__.__subclasses__()[133].__init__.__globals__['popen']('cat/app/flag').read()}}level2过滤{}用{%%}代替print标记{%print''.__class__.__base__.__subclasses__()[133].__ini
  • 2023-12-20【misc】[HNCTF 2022 WEEK2]calc_jail_beginner_level4.1(JAIL) --沙盒逃逸,python模板注入变换
    这道题没给附件,直接连上看看这里一开始用().__class__.__base__.__subclasses__()[-4].__init__.__globals__[bytes([115,121,115,116,101,109]).decode()](bytes([115,104]).decode())进行尝试,后面发现bytes函数被禁用了,可以用另外的函数代替().__class__.__base__.__subclasse
  • 2023-12-20【misc】[HNCTF 2022 WEEK2]calc_jail_beginner_level4(JAIL) --沙盒逃逸,python模板注入
    查看附件信息这里禁用了__import__,直接导致了help()函数和breakpoint()函数没法使用,并且还过滤了关键字符,这里考虑python模板注入,但是这里还过滤chr(),这里可以使用bytes函数payload如下:().__class__.__base__.__subclasses__()[-4].__init__.__globals__['system']('sh')
  • 2023-12-08Python+Flask SSTI 注入payload自动生成
    抛开代码丑不谈,用起来还是挺好用滴。fromflaskimportFlask,requestfromjinja2importTemplatefromthreadingimportThreadimportrequestsimportosimportsysurl_dict={"popen":[],"eval":[],"__import__":[],}scan_list