前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SSI注入

SSI注入

作者头像
字节脉搏实验室
发布2020-06-01 11:39:30
1.5K0
发布2020-06-01 11:39:30
举报
文章被收录于专栏:字节脉搏实验室

0x00 知识点

SSI 注入全称Server-Side Includes Injection,即服务端包含注入。SSI 是类似于 CGI,用于动态页面的指令。SSI 注入允许远程在 Web 应用中注入脚本来执行代码。

SSI是嵌入HTML页面中的指令,在页面被提供时由服务器进行运算,以对现有HTML页面增加动态生成的内容,而无须通过CGI程序提供其整个页面,或者使用其他动态技术。

从技术角度上来说,SSI就是在HTML文件中,可以通过注释行调用的命令或指针,即允许通过在HTML页面注入脚本或远程执行任意代码。

重点:ssi是赋予html静态页面的动态效果,通过ssi执行命令,返回对应的结果,若在网站目录中发现了.stm .shtm .shtml等则考虑该网站可能存在SSI注入漏洞

0x01 SSI语法

首先,介绍下SHTML,在SHTML文件中使用SSI指令引用其他的html文件(#include),此时服务器会将SHTML中包含的SSI指令解释,再传送给客户端,此时的HTML中就不再有SSI指令了。比如说框架是固定的,但是里面的文章,其他菜单等即可以用#include引用进来。

SSI指令基本格式:<!-– 指令名称="指令参数">

①显示服务器端环境变量<#echo>

本文档名称:

<!--#echo var="DOCUMENT_NAME"-->

现在时间:

<!--#echo var="DATE_LOCAL"-->

显示IP地址:

<!--#echo var="REMOTE_ADDR"-->

②将文本内容直接插入到文档中<#include>

<!--#include file="文件名称"-->

<!--#include virtual="index.html"-->

<!--#include virtual="文件名称"-->

<!--#include virtual="/www/footer.html" -->

注:file包含文件可以在同一级目录或其子目录中,但不能在上一级目录中,virtual包含文件可以是Web站点上的虚拟目录的完整路径

③显示WEB文档相关信息<#flastmod><#fsize>(如文件制作日期/大小等)

文件最近更新日期:

<!--#flastmod file="文件名称" -->

文件的长度:

<!--#fsize file="文件名称" -->

④直接执行服务器上的各种程序<#exec>(如CGI或其他可执行程序)

<!--#exec cmd="文件名称"-->

<!--#exec cmd="cat /etc/passwd"-->

<!--#exec cgi="文件名称"-->

<!--#exec cgi="/cgi-bin/access_log.cgi"-->

将某一外部程序的输出插入到页面中。可插入CGI程序或者是常规应用程序的输入,这取决于使用的参数是cmd还是cgi。

⑤设置SSI信息显示格式<#config>(如文件制作日期/大小显示方式)

⑥高级SSI可设置变量使用if条件语句。

补充说明: 1.<!-- -->是HTML语法中表示注释,当WEB服务器不支持SSI时,会忽略这些信息。 2.#exec 为SSI指令之一。 3.cmd 为exec的参数, cat /etc/passwd为参数值,在本指令中指将要执行的命令。

4. <!--与#号间无空格,只有SSI指令与参数间存在空格。

0x02 CTF应用

[BJDCTF2020]EasySearch

扫描目录存在.swp备份文件,访问得到源码

第一个判断很明显就是一个套路的md5值相等问题,掏出脚本

输入进去,F12打开得到路径回显

看到shtml后缀,考虑SSI注入,直接来一波命令执行先列个目录,最后在上级目录找到关键信息。

<!--#exec cmd="ls ../"-->

接着读取即可获得flag<!--#exec cmd="cat ../flag_990c66bf85a09c664f0b6741840499b2"-->

利用SSI进行反弹shell及exec过滤绕过参看:https://blog.csdn.net/whatiwhere/article/details/84729008

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 字节脉搏实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x01 SSI语法
  • 0x02 CTF应用
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档