web攻防之SSTI 注入毛病

[复制链接]
发表于 2025-6-28 20:07:42 | 显示全部楼层 |阅读模式
知识简介 : 模版引擎和框架的区别

ssti的中文翻译 : 服务端的模版的注入 
模版引擎 :前端的用于装饰优化html的模版 最简单的就是在腾讯会议中的谈天功能
框架 : 这个是一套独立存在的逻辑 如TP他是一个区别于php语法的后端逻辑(框架的作用就是 优化后端的功能安全性)
两者的共性就是为了省时
怎么发现对方的web套用了模版引擎

主要是看页面的规律性和是不是非常的板正,大部分的web都是套用的模版 手写的工程量是非常大的
毛病的原理

这个就类似于 框架的rce 模版引擎会有独特的语法,假如对方的模版引擎中有写入的这个功能,那就会导致恶意的模版引擎的语法的写入,再者没有对其进行过滤从而导致了,ssti注入
毛病使用的逻辑思路

1、找寻是什么模版引擎
      

   这个是模版对应的语法,以是我们的思路就是先找对方是什么语言写的 web 然后在语言中进行全扫即可,如对方使用的是php 那就是把php类的以是语法进行写到注入点进行测试
   ssti的毛病的场景就是必要在有输入的地方,并且这个输入之后会有输出的回显,如许就能进行操作
    案例一:

实行:基本服务器端模板注入 |网络安全学院
靶场要求是让我们使用模版的rce删除morale.txt
我们随便点击一个商品 

发现回显的地方  这个英文的意思是商品缺货 然后这个注入点让我们想到的毛病 1、xss 2、sql注入

然后就是我们的模版rce
工具介绍 : SSTImap

安装一下依赖
使用 :

  1. python sstimap.py -u "https://0a6800de041a131880a644a800e2001d.web-security-academy.net/?message=*"
复制代码

这个工具的用法和sqlmap差不多  这个就表示乐成 然后判断ssti是ERB类型的

这个工具有个欠好的地方就是不会生存缓存
我们可以指定类型之后使用他的后渗透模式,也可以本身构造,看着上面的模版图
erb语法  
  1. <%= exec 'ls -al' %>
复制代码

然后就发现我们的语句被嵌套到了这个模版中去 , 然后进行了前端的回显
大概使用工具的自动模式 :

第二个靶场

实行:基本服务器端模板注入(代码上下文) |网络安全学院
这个就比力隐晦了  不是那种显着的,这个其实是模版的语法用于post包中
登录提示给的账号密码之后,随便进入到一个文章中去 

发现有个评论的功能 : 联想到ssti的前端模版就是一些输入框,评论区大概是谈天的地方
我们先对评论进行ssti试一下 先抓个包 :

我们首先猜测的是在 comment 然后这个内容会自动的加载到前端的模版中去

末了测试发现失败了,那就联系到名字也是会在前端进行回显
测试修改名字​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​


然后返回我们的评论区 :

发现 7*7被执行了 以是这个就是注入点
  1. 最终的payload
  2. blog-post-author-display=user.name}}{%25+import+os+%25}{{os.system('ls%20-al')
复制代码

这个不能直接使用工具测试出来,手工是最好的
实行三

Login - PortSwigger
这个靶场模仿的是 后台ssti提取的一个场景
后台有个模仿修改前端的代码一个功能

可以进行编辑然后 就能在前端回显

payload :
  1. 模版 :Freemarker:
  2. <#assign test="freemarker.template.utility.Execute"?new()> ${test("ls")}
复制代码
之后这里就会出现





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

×
登录参与点评抽奖,加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表