zoukankan      html  css  js  c++  java
  • Apache SSI 远程命令执行漏洞

    一.漏洞介绍

      SSI 注入全称Server-Side Includes Injection,即服务端包含注入。

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

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

      在SSI中,默认扩展名是 .stm、.shtm 和 .shtml。

    二.操作步骤

    1.使用了vulhub靶场,首先打开靶场,靶场位置:vulhub-master/httpd/ssi-rce。

    2.环境搭建:docker-compose  build & docke-compose up -d 。

    3.访问靶场,不同的靶场可能端口号不一样,查看端口号用:docker-compose ps。

    4.上传木马文件

      在上传文件时,是无法直接上传木马文件的,即使上传了隐含木马语句的文件,用工具也是无法连接上的,反正我没有连接上。

      由于采用Apache配置不当,故存在SSI远程执行命令的漏洞,然而又因为在SSI中默认扩展名有 shtml等等,因此上传这样扩展名的文件。

    使用命令 <!--#exec cmd="ls & whoami " -->  或者使用   <!--#exec cmd="ls" -->

    发现是可以上传的,然后进行访问上传这个文件。

    然后就执行了刚才文件里的命令,便得到了相关的信息,当然这只是这个文件下的文件信息,其他文件夹呢?

    三.防御方法

     1.可以关闭SSI这个功能。

     2.过滤特殊字符串(`<,>,#,-,",'`)

    欢迎一起交流。
  • 相关阅读:
    Opencv-Python 学习
    Python图片处理
    sae flask 微信公众平台开发
    Python 定位字符串
    Python检测IP合法 是否为公网IP
    Python requests 为pfsense 添加Routes
    lua-nginx-module 学习
    CDN 学习笔记
    教程
    2020-2021-1 20209327 《Linux内核原理与分析》第十二周作业
  • 原文地址:https://www.cnblogs.com/huazige/p/15026196.html
Copyright © 2011-2022 走看看