什么是Server-Side-Include漏洞


服务端包含漏洞是指发送指令到服务器,服务器会将指令运行完,把运行结果包含在返回文件中发送给你。利用这种漏洞可以获取服务端的信息甚至执行命令,这样的指令是构造在HTML注释中发过去的。当然,因为包含SSI指令的文件要求特殊处理,所以必须为所有SSI文件赋予 SSI文件扩展名。默认扩展名是 .stm、.shtm和 .shtml。

指令类型


  • 显示服务端变量<!--#echo var="PATH"-->

  • 将文本内容添加到文档<!--#include file="phpi.php"-->

  • 执行命令<!--#exec cmd="ping -c 4 172.16.204.1"-->

  • 还有其他的,类似<!--#config xx=xxx--><!--#flastmod #fsize-->等等

burp扫描展示可以确认:


代码分析原理和防御


function xss($data)
{ switch($_COOKIE["security_level"])
{ case "0" : $data = no_check($data);
break; case "1" : $data = xss_check_4($data);
break; case "2" : $data = xss_check_3($data);
break; default : $data = no_check($data);
break; } return $data; }

本质是代码在shtml里面就会被执行,那么没啥,来看防御嘛,从代码来看,应该还是过滤,我们来测试测试中级尝试绕过办法。

绕过


无防御时候的payload尝试【失败】:<!--#echo var="PATH"-->


编码了<> 测试失败


看来转义了",编码"测试<!--#echo var=%22PATH%22-->


都编码测试一下也失败


burp没有问题



其实还是可以

使用<!--#printenv-->可以获取信息

高级


水平太菜,无能为力

防御


  • 1、配置禁止ssi和xssi
//例如Nginx的配置文件中
ssi on;//修改为ssi off;
  • 2、输入过滤严格,使用htmlspecialchars函数。

跟bWAPP学WEB安全(PHP代码)--SSL(Server-Side-Include)漏洞的更多相关文章

  1. 跟bWAPP学WEB安全(PHP代码)--OS命令注入

    背景 这是温故知新的一个系列,也是重新拾起WEB安全的一个系列,同时希望能稍微有点对初学者的帮助.第一篇先来讲讲OS命令注入 bWAPP里面有两个页面也就是两个漏洞,来验证OS命令注入.一个是有回显的 ...

  2. 跟bWAPP学WEB安全(PHP代码)--终结篇:文件目录遍历、文件上传、SSRF、CSRF、XXE、文件包含

    前言 过年过的很不顺,家里领导和我本人接连生病,年前腊月29才都治好出院,大年初六家里的拉布拉多爱犬又因为细小医治无效离开了,没能过年回家,花了好多钱,狗狗还离世了.所以也就没什么心思更新博客.今天初 ...

  3. 跟bWAPP学WEB安全(PHP代码)--认证绕过与会话管理

    背景 这里主要是代码逻辑问题,而不是代码使用函数的问题,因此在这个里面就不粘贴具体代码了,而是分类介绍下bWAPP中涉及的安全问题: 验证码问题 找回问题 账号口令问题 Cookies问题 Sessi ...

  4. 跟bWAPP学WEB安全(PHP代码)--SQL注入的一些技巧

    背景 模拟环境还是 bWAPP,只不过这个bWAPP的SQL注入有点多,一一写意义不大,在这边就利用这个环境来尝试一些SQL注入的技巧.并研究下PHP的防御代码. 普通的bWAPPSQL注入的简单介绍 ...

  5. 跟bWAPP学WEB安全(PHP代码)--PHP代码注入

    ---恢复内容开始--- 背景 今天我们换一个方式来分析这个漏洞,从渗透的角度去搞. 渗透过程 测试漏洞 先来看看,观察URL是:http://192.168.195.195/bWAPP/phpi.p ...

  6. 跟bWAPP学WEB安全(PHP代码)--邮件头和LDAP注入

    背景 由于时间限制和这俩漏洞也不是特别常用,在这里就不搭建环境了,我们从注入原来和代码审计的角度来看看. 邮件头注入 注入原理: 这个地方首先要说一下邮件的结构,分为信封(MAIL FROM.RCPT ...

  7. 跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击

    背景 这个系列有很多题,但是其实考察的相近,类似的就不在多说,我们来看吧.主要分几个点来讲: 反射型 存储型 JSON XM 头部字段相关 分类介绍 反射型 在请求中构造了XSS的Payload,一般 ...

  8. 跟bWAPP学WEB安全(PHP代码)--XPath注入

    XML/Xpath注入 看了下,A2里面是认证与会话管理的破坏或称之为绕过,没有特别要写的,很多就是小问题,可能会将这类问题放在最后写一下.一篇博客,这里还是更多的着重在能够获取信息或者服务器权限的漏 ...

  9. 跟bWAPP学WEB安全(PHP代码)--HTML注入和iFrame注入

    背景 这里讲解HTML注入和iFrame注入,其他的本质都是HTML的改变.那么有人会问,XSS与HTML注入有啥区别呢?其实本质上都是没有区别的,改变前端代码,来攻击客户端,但是XSS可以理解为注入 ...

随机推荐

  1. Logback中文文档(一):介绍

    什么是 logback Logback 为取代 log4j 而生. Logback 由 log4j 的创立者 Ceki Gülcü 设计.以十多年设计工业级记录系统的经验为基础,所创建的 logbac ...

  2. 编译并使用带有OpenCL模块的OpenCV for android SDK

    OpenCV Android SDK中提供的静态.动态库是不支持OpenCL加速的,如果在程序中调用OpenCL相关函数,编译时不会报错,但运行时logcat会输出如下信息,提示OpenCL函数不可用 ...

  3. NFS 网络挂载问题 解决

            在进行嵌入式开发时,通常使用nfs,在开发板上面远程挂载主机上的目录,这样,省去了拷贝复制文件的过程,加快开发速度.在这里,给出自己在nfs相关的设置上出现的问题.         本 ...

  4. CentOS 65 java 访问 MS SQL

    #install unixODBC sudo yum install unixODBC unixODBC-devel -y #install freetds #1st download freetds ...

  5. DWZ主从表界面唯一性验证(自写js)(一)

    最近在项目中遇到一个问题,它的需求是: 利用DWZ的主从表结构批量添加课程信息,需要在触发课程代码文本框的离开事件时验证: 1.是否选择学院. 2.数据库里是否已存在该课程代码. 3.多条数据添加时, ...

  6. 【DL】物体识别与定位

    https://cloud.tencent.com/community/article/414833

  7. Greenplum-cc-web监控软件安装时常见错误

     错误error: 1.no pg_hba.conf entry for host “::1”, user “gpmon”, database “gpperfmon”, SSL off 解决: vi ...

  8. wget 下载指定url路径下的 指定类型的(全部)文件

    wget http://mirrors.ustc.edu.cn/ubuntu/pool/main/g/gcc-4.4/ -r -np -nd -A .deb -e robots=offwget htt ...

  9. jsp+springmvc实现文件上传、图片上传和及时预览图片

    1.多文件上传:http://blog.csdn.net/a1314517love/article/details/24183273 2.单文件上传的简单示例:http://blog.csdn.net ...

  10. [转]WPF入口Application

    1.WPF和 传统的WinForm 类似, WPF 同样需要一个 Application 来统领一些全局的行为和操作,并且每个 Domain (应用程序域)中只能有一个 Application 实例存 ...