nginx反代web页面没有正常显示_web漏洞-SSI注入漏洞深入详解
SSI 注入全称Server-Side Includes Injection,即服务端包含注入。SSI 是类似于 CGI,用于动态页面的指令。SSI 注入允许远程在 Web 应用中注入脚本来执行代码。
SSI是嵌入HTML页面中的指令,在页面被提供时由服务器进行运算,以对现有HTML页面增加动态生成的内容,而无须通过CGI程序提供其整个页面,或者使用其他动态技术。
从技术角度上来说,SSI就是在HTML文件中,可以通过注释行调用的命令或指针,即允许通过在HTML页面注入脚本或远程执行任意代码。
1.1 启用SSI
**示例:Nginx 配置SSI功能**
在http段中加入下面几句即可:
ssi on;ssi_silent_errors off;ssi_types text/shtml;
默认Apache不开启SSI,SSI这种技术已经比较少用了。如果应用没有使用到SSI,关闭服务器对SSI的支持即可。
IIS和Apache都可以开启SSI功能,具体可参考:Apache、Nginx 服务配置服务器端包含(SSI)
1.2 SSI语法
首先,介绍下SHTML,在SHTML文件中使用SSI指令引用其他的html文件(#include),此时服务器会将SHTML中包含的SSI指令解释,再传送给客户端,此时的HTML中就不再有SSI指令了。比如说框架是固定的,但是里面的文章,其他菜单等即可以用#include引用进来。
①显示服务器端环境变量
本文档名称:
现在时间:
显示IP地址:
②将文本内容直接插入到文档中
注:file包含文件可以在同一级目录或其子目录中,但不能在上一级目录中,virtual包含文件可以是Web站点上的虚拟目录的完整路径
③显示WEB文档相关信息(如文件制作日期/大小等)
文件最近更新日期:
文件的长度:
④直接执行服务器上的各种程序(如CGI或其他可执行程序)
'
使用exec执行服务端端命令
5.2 漏洞挖掘
运气好,刚好遇到个某SRC的。
"-->'-->`--><
执行命令
获取服务器端配置信息
"-->'-->`--><
反弹shell
执行反弹shell
0x06 SSI防御
- 关闭服务器SSI功能
- 过滤相关SSI特殊字符(`,#,-,",'`)
喜欢安全的朋友,可以关注并转发,私信我交流讨论
nginx反代web页面没有正常显示_web漏洞-SSI注入漏洞深入详解相关推荐
- Nginx反代Mogilefs分布式储存示例
2019独角兽企业重金招聘Python工程师标准>>> 一.分布式存储系统简介 随着信息技术不断的发展,给我们带来便利的同时,不断增加的数据量级.信息之间的连接关联越来越复杂.数据访 ...
- nps内网穿透服务器搭建教程(ip显示阿里云的ip)-小宇特详解
nps内网穿透服务器搭建教程(ip显示阿里云的ip)-小宇特详解 一共有两部分,一部分是windows安装,一部分是linux系统(使得ip显示自己的阿里云). 前期准备 1.一台云服务器 2.配置安 ...
- cpu显示无效查询 wmic_Windows WMIC命令使用详解(附实例)
执行"wmic"命令启动WMIC命令行环境.这个命令可以在XP或 .NET Server的标准命令行解释器(cmd.exe).Telnet会话或"运行"对话框中 ...
- web漏洞-SQL注入漏洞、目录遍历漏洞、文件下载漏洞
这里用到的是Pikachu漏洞练习平台 一.SQL注入漏洞-数字型注入 SQL注入漏洞简介 在owasp发布的top10排行榜里,注入漏洞一直是危害排名第一的漏洞,其中注入漏洞里面首当其冲的就是数据库 ...
- Java web 开发的概念、环境配置、创建项目过程详解(Eclipse)
Java Web 开发 Java Web 开发概念 搭建过程 详解 在eclipse创建Dynamic Web Project 创建时选择Tomcat的版本 创建项目成功 eclipse环境下如何配置 ...
- C语言字符集中可显示字符,C++_C语言转义字符实例详解,在字符集中,有一类字符具有 - phpStudy...
C语言转义字符实例详解 在字符集中,有一类字符具有这样的特性:当从键盘上输入这个字符时,显示器上就可以显示这个字符,即输入什么就显示什么.这类字符称为可显示字符,如a.b.c.$.+和空格符等都是可显 ...
- html web form id,小程序如何获取多个formId实现详解
小程序如何获取多个formId实现详解 发布时间:2020-09-03 08:04:34 来源:脚本之家 阅读:135 作者:jANE2160 很多人使用过form和button的多层嵌套来实现点击一 ...
- Linux执行yum不显示时间,Linux停的yum命令详解(朝花夕拾)
yum是干什么的使用redhat,fedora的linuxer肯定都为rpm著名的dependency hell而头疼(这也是所有基于rpm发行版都有的问题).foo is needed by bar ...
- php study 直接显示代码_PHP获取文件大小的方法详解(附视频)
本篇文章主要给大家介绍PHP获取文件大小以及封装获取正常大小的具体方法. 对于初入门的PHP新手来说,PHP获取文件大小这个功能实现,或许有一定的难度.但是相信新手小白们在看过本篇文章介绍后,一定能轻 ...
最新文章
- Vim 删除不包含指定字符串的行及统计匹配个数
- STM32cube HAL库 UART串口中断方式收发任意长度 调试笔记
- c# vscode 配置_使用VSCode开发C#项目
- tomcat和http简介
- 针对双系统ubuntu16.04卡死及系统没有声音解决方法
- 尤其是java程序员(转载)_JAVA程序员 学习任务(转载)
- 信息学奥赛一本通(1090:含k个3的数)
- 实现OO的最后一公里
- ASN.1编解码:asn1c-ORAN-E2AP
- python数据可视化字段_python数据爬取及数据可视化分析
- sql 2008 清空数据库日志
- File Finder pro Mac版重复文件查找器使用方法
- Data crossstore between Mongo and JPA
- mysql图文混排设计方案_平面设计图文混排技巧,看完再也不用担心排版了
- 零基础自学软件测试-项目经验-电商项目实战-测试用例设计-促销中心
- 〖Python自动化办公篇⑰〗- PPT 文件自动化 - PPT 插入表格与图片
- GOM登录器技术研究,闪退、掉线的原因分析和解决
- zend framework 1.5.2 中实现梅花雪1.0树状菜单
- 详解Django的CSRF认证
- python3今日头条App电商数据抓取
热门文章
- 【Spring】No suitable HttpMessageConverter repsonse type
- JMH 性能测试框架
- 【mysql】解决MySQL GPG密钥过期问题
- 面试官这Redis夺命连环12问,谁顶得住?
- MySQL与PostgreSQL比较,哪个更好、我们该选用哪个?
- 引入 Gateway 网关,这些坑一定要学会避开!!!
- 挖出一个面试刷题的宝藏资源,赶紧收下了~
- 配置数据引擎(BDE、SQL Link)的简单方法 /制做快速按钮条的方法/建立临时表的方法
- vue res返回html,vue 组件内获取actions的response方式
- 《C Primer Plus 第五版》读书笔记