SSI 注入漏洞

0x00漏洞描述

SSI 英文是 Server Side Includes 的缩写,翻译成中文就是服务器端包含的意思。从技术角度上说,SSI 就是在 HTML 文件中,可以通过注入注释调用的命令或指针。SSI 具有强大的功能,只要使用一条简单的 SSI 命令就可以实现整个网站的内容更新,时间和日期的动态显示,以及执行 shell 和 CGI 脚本程序等复杂的功能。SSI 可以称得上是那些资金短缺、时间紧张、工作量大的网站开发人员的最佳帮手。

服务器端包含提供了一种对现有 HTML 文档增加动态内容的方法。Apache 和 IIS 都可以通过配置支持 SSI,在网页内容被返回给用户之前,服务器会执行网页内容中的 SSI 标签。在很多场景中,用户输入的内容可以显示在页面中,比如一个存在反射 XSS 漏洞的页面,如果输入的 payload 不是 XSS 代码而是 SSI 标签,服务器又开启了 SSI 支持的话就会存在 SSI 漏洞。

0x01检测条件

1、Web 服务器已支持 SSI。

2、Web 应用程序在返回 HTML 页面时,嵌入用户输入。

3、参数值未进行输入清理。

0x02检测方法

①、黑盒测试

通过信息收集技术,了解我们的检测目标运行哪些类型的 Web 服务器,查看检测网站的内容来猜测是否支持 SSI,由于 .shtml 文件后缀名是用来表明网页文件是否包含 SSI 指令的,因此如果该网站使用了 .shtml 文件,那说明该网站支持 SSI 指令。然而 .shtml 后缀并非强制规定的,因此如果没有发现任何 .shtml 文件,并不意味目标网站没有 SSI 注入漏洞。

接下来的步骤就是是否可以进行 SSI 注入攻击,还有恶意代码的注入点。我们需要找到运行用户输入的每一个页面,并确认应用程序是否正确验证了所提交的输入,反之则确认是否存在按输入原样显示的数据(如错误信息、论坛发帖等)。除了常见的用户提供的数据外,还要考虑 HTTP 请求头Cookie 内容。

示例:

GET/HTTP/1.0

Referer:<!--#exec cmd="/bin/psax"-->

User-Agent: <!--#virtualinclude="/proc/version"-->

②、白盒测试

1、是否使用 SSI 指令,如果使用,则 Web 服务器就启动了 SSI 支持。这就导致 SSI 注入至少成为需要调查的潜在问题;

2、用户输入、Cookie 内容和 HTTP 标题头在哪里处理;

3、如何处理输入、使用什么样的过滤方式、应用程序不允许什么样的字符通过、考虑了多少种编码方式。使用 grep 执行这些步骤,找到源代码中的正确关键字(SSI 指令、CGI 环境变量、涉及用户输入的变量任务、过滤函数等等)。

0x03案例演示

buuctf 的题目:[BJDCTF2020]EasySearch 1

具体可看 CSDN 文章:渗透测试练习题解析 7 (CTF web)第一题

文章内容支持 .shtml、按输入原样输出,种种迹象表明该网站存在 SSI 注入漏洞,那么我们在 username 文本框中输入恶意代码

<!--#exec cmd="id" -->

还可以利用 SSI 注入执行反弹 Shell

0x04防御方法

1、清除用户输入,禁止可能支持 SSI 的模式

2、过滤敏感字符,比如( < , > , # , - , " , '

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/35841.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

day2-web安全漏洞攻防-基础-弱口令、HTML注入(米斯特web渗透测试)

day2-web安全漏洞攻防-基础-弱口令、HTML注入&#xff08;米斯特web渗透测试&#xff09; 1&#xff0c;漏洞2&#xff0c;弱口令3&#xff0c;爆破&#xff08;1&#xff09;Burpsuite&#xff08;2&#xff09;攻击类型 4&#xff0c;HTML针剂注入 1&#xff0c;漏洞 挖掘和利…

批量打造怀旧风情:视频批量剪辑将现代视频打造成怀旧经典老视频效果

在繁忙的现代生活中&#xff0c;我们时常怀念那些旧时光&#xff0c;那些充满岁月痕迹的老电影片段。它们不仅记录了一个时代的风貌&#xff0c;更承载了无数人的情感与记忆。你是否想过&#xff0c;将现代的视频素材打造成这种怀旧经典的老视频效果&#xff0c;让每一帧都充满…

【手眼标定】使用kalibr对imu和双目摄像头进行联合标定

使用kalibr对imu和双目摄像头进行联合标定 前言一、IMU标定二、双目摄像头标定三、手眼标定&#xff08;imu和双目摄像头的联合标定&#xff09; 前言 由于本文的imu、双目摄像头都是在ros2环境下开发&#xff0c;数据传输自然也是在ros2中。 但想要使用kalibr进行标定&#x…

骑马与砍杀战团mod制作-基础-军队笔记(一)

骑马与砍杀战团mod制作-基础-军队装备笔记&#xff08;一&#xff09; 资料来源 学习的资料来源&#xff1a; b站【三啸解说】手把手教你做【骑砍】MOD&#xff0c;基础篇&#xff0c;链接为&#xff1a; https://www.bilibili.com/video/BV19x411Q7No?p4&vd_sourcea507…

VOC格式转YOLO格式,xml文件转txt文件简单通用代码

目录 前言 思路介绍 代码 完整代码 拓展代码 前言 很多人在进行目标检测训练时习惯将得到的数据标注为XML文件的VOC格式&#xff0c;或者在网上获取的数据集被标注为XML文件&#xff0c;但是不同的标注工具进行的标注会产生不同的标注xml文件&#xff0c;这里我写了一种通用…

边缘混合计算智慧矿山视频智能综合管理方案:矿山安全生产智能转型升级之路

一、智慧矿山方案介绍 智慧矿山是以矿山数字化、信息化为前提和基础&#xff0c;通过物联网、人工智能等技术进行主动感知、自动分析、快速处理&#xff0c;实现安全矿山、高效矿山的矿山智能化建设。旭帆科技TSINGSEE青犀基于图像的前端计算、边缘计算技术&#xff0c;结合煤…

Java预约家政5.0服务本地服务源码(APP+小程序+公众号+H5)

预约家政本地服务平台系统&#xff1a;一站式解决家居需求&#x1f3e0;&#x1f4bc; 一、引言&#xff1a;开启便捷家居新时代 在快节奏的现代生活中&#xff0c;我们渴望拥有更多的时间和精力去享受生活&#xff0c;而不是被繁琐的家务所困扰。预约家政本地服务平台系统应…

创意设计师,如何在AIGC时代寻找价值?

在当今AIGC&#xff08;人工智能生成内容&#xff09;时代&#xff0c;技术的浪潮席卷了各个行业&#xff0c;创意设计领域也不例外。对于创意设计师来说&#xff0c;这既是一个充满挑战的时代&#xff0c;也是一个蕴藏无限机遇的时代。在这个时代背景下&#xff0c;如何寻找并…

MindSpore中NumPy变量转换为Tensor张量使用的Tensor.from_numpy()函数到底是深拷贝还是浅拷贝

在NumPy转换为Tensor使用的Tensor.from_numpy()函数到底是深拷贝还是浅拷贝 使用Tensor()将NumPy变量转换为Tensor变量。 类似数组转换张量的方法 n np.ones(5) t Tensor.from_numpy(n) print(f"t: {t}", type(t)) np.add(n, 1, outn) print(f"n: {n}"…

PHP 界的扛把子 Swoole 异步通信利器

大家好&#xff0c;我是码农先森。 引言 我今天主要介绍的内容是包括但不仅限于 Swoole &#xff0c;也有一部分 Go 语言的内容。 为什么要介绍 Swoole ? 先说一说背景吧&#xff0c;我们项目组之前要为《香港 01》开发一个积分系统的项目&#xff0c;这个系统的主要功能包…

做PPT时素材图片不清晰怎么办?

做 PPT 时&#xff0c;总会遇到很多尴尬事&#xff0c;比方说需要一张素材图&#xff0c;却怎么也下载不到高清的&#xff0c;这在现实生活中是经常会遇到的。那么遇到这种情况我们到底该如何处理&#xff1f;今天就教给大家几个方法&#xff0c;轻松应对素材图不清晰这个难题&…

内网一键部署k8s-kubeshpere,1.22.12版本

1.引言 本文档旨在指导读者在内网环境中部署 Kubernetes 集群。Kubernetes 是一种用于自动化容器化应用程序部署、扩展和管理的开源平台&#xff0c;其在云原生应用开发和部署中具有广泛的应用。然而&#xff0c;由于一些安全或网络限制&#xff0c;一些组织可能选择在内部网络…

python f.write中文乱码怎么解决

举个例子&#xff1a; #coding:utf-8 s u中文 f open("test.txt","w") f.write(s) f.close() 原因是编码方式错误&#xff0c;应该改为utf-8编码。 解决方案一&#xff1a; #coding:utf-8 s u中文 f open("test.txt","w") f.writ…

nacos在k8s上的集群安装实践

目录 概述实践nfs安装使用 k8s持久化nacos安装创建角色部署数据库执行数据库初始化语句部署nacos ingress效果展示 结束 概述 本文主要对 nacos 在k8s上的集群安装 进行说明与实践。主要版本信息&#xff0c;k8s: 1.27.x&#xff0c;nacos: 2.0.3。运行环境为 centos 7.x。 实…

消息队列MQ相关面试题

消息队列MQ相关面试题 1 RabbitMQ 1.1 你们项目中哪里用到了RabbitMQ ? 难易程度&#xff1a;☆☆☆ 出现频率&#xff1a;☆☆☆☆ 我们项目中很多地方都使用了RabbitMQ , RabbitMQ 是我们项目中服务通信的主要方式之一 , 我们项目中服务通信主要有二种方式实现 : 通过Fei…

大模型训练十大戒律!!

1.切勿微调&#xff08;Thou Shalt Not Fine-Tune&#xff09;&#xff1a;尽量写prompt&#xff0c;利用大模型本身的能力zeroshot&#xff0c;必要时辅以少量样本&#xff08;few-shot examples&#xff09;或检索增强生成&#xff08;RAG&#xff09;。微调成本高、速度慢且…

苹果电脑安装双系统步骤 教你苹果电脑如何装双系统

许多人刚买来苹果电脑时&#xff0c;对苹果的IOS操作系统比较陌生&#xff0c;显得非常不适应&#xff0c;都会去想吧苹果电脑去安装一个自己熟悉的Windows系统&#xff0c;方便自己办公娱乐&#xff0c;那么苹果电脑安装双系统的步骤怎么样呢 小编给大家介绍下吧。 许多人刚买…

“ONLYOFFICE 8.1:提升用户体验和编辑功能的全面升级”

引言 官网链接 在当今快节奏的工作环境中&#xff0c;高效地处理文档是每个职场人士必备的技能。ONLYOFFICE 桌面编辑器凭借其强大的功能和用户友好的界面&#xff0c;成为了提升文档处理效率的得力助手。本文将介绍 ONLYOFFICE 桌面编辑器的核心特性&#xff0c;并展示如何通…

ElasticSearch8.X查询DSL语法案例进阶实战

什么是Query DSL Query DSL主要由两部分组成&#xff1a;查询和过滤。 查询部分&#xff1a;用于指定搜索条件和匹配规则。例如&#xff0c;可以使用match查询进行全文检索&#xff0c;term查询进行精确匹配&#xff0c;range查询进行范围匹配等。过滤部分&#xff1a;用于对查…

数据资产风险管理与合规性:全面识别、科学评估并有效应对数据风险,确保企业数据资产的安全性与合规性,为企业稳健发展提供坚实保障

一、引言 在数字化时代&#xff0c;数据资产已成为企业运营和决策的核心要素。然而&#xff0c;随着数据量的快速增长和技术的不断演进&#xff0c;数据资产面临的风险也日益增多&#xff0c;如数据泄露、数据篡改、数据滥用等。同时&#xff0c;数据保护法律法规的不断完善&a…