首页 > 其他分享 >Apache SSI远程命令执行漏洞复现

Apache SSI远程命令执行漏洞复现

时间:2023-02-19 18:35:24浏览次数:42  
标签:shtml 漏洞 html SSI 复现 Apache 服务器 上传

  漏洞原理

  shtml不是html而是一种服务器API,shtml是服务器动态产生的html。两者都是超文本格式,但shtml是一种用于SSI(Servcie Side Include ,服务器端包含指令)技术的文件,一般浏览器访问时会优先扫描依次shtml文件看有没有SSI指令存在,按服务器设定的规则去解释SSI指令,然后跟html一起被渲染。当shtml或shtm中不包含服务端可执行脚本时作用和html一样。在测试任意文件上传漏洞的时候,如果目标服务器开启了SSI与CGI支持,我们可以上传一个shtml文件,并利用`<!–#exec cmd=”id” –>`语法执行任意命令。

 

  漏洞复现

(1)搭建漏洞环境

    ① cd /home/test/vulhub/httpd/ssi-rce

    ② Vi docker-compose.yml 将其中默认的8080端口改成一个没用过的端口

    ③ Docker-compose up -d 启动环境

 

 

 

(2)访问该页面并上传一个.php文件,报错

 

 

 

 

 

 

 

(3)上传一个.shtml文件,内容为<!--#exec cmd="date" -->,上传成功

 

 

 

 

 

 

 

 

 

 

 

 

 

 

标签:shtml,漏洞,html,SSI,复现,Apache,服务器,上传
From: https://www.cnblogs.com/koitoYuu/p/17135282.html

相关文章

  • 使用ThreadLocal+OpenSessionInView优化Mybatis使用
    使用一个名为OpenSessionInView的servlet过滤器,简化在服务中使用mybatis的操作。   一、情况分析Mybatis的使用过程:1、获取配置文件2、获取session工厂......
  • DynamicExpression.Core
    DynamicExpression.Core.netlambda表达式合并 事情的起因是公司一个小伙子问了我个问题“海哥,来帮我看下这段代码怎么不行”Func<Report,bool>nameFilter=x=>x......
  • Android的权限操作—— permission 和 uses-permission
    1、<uses-permission> 和 <permission>两者均为权限相关的标签<uses-permission> 用来权限申请<permission>用来权限定义2、以下示例android.permission.ACCESS_COA......
  • 大数据组件之Apache Oozie
    1、Oozie介绍官网首页介绍:​​​​http://oozie.apache.org​​​1.1Oozie是一个管理ApacheHadoop作业的工作流调度系统。1.2Oozie的workflowjobs是由actions组成......
  • sqlalchemy_装饰器获取session
    /Users/codelearn/fastapi-tutorial-fastapi_with_async_sqlalchemy/run.py#uvicornbackend.app.main:app--host127.0.0.1--port8000#uvicornsrc.main:app--hos......
  • Clock Domain Crossing
    ClockDomainCrossingCDC问题主要有亚稳态问题,多比特信号同步,握手信号同步,异步Fifo....TopicsDescribetheSoCDesignIssuesUnderstandthetranditonalverifi......
  • Apache Hudi 流转批 场景实践
    背景在某些业务场景下,我们需要一个标志来衡量hudi数据写入的进度,比如:Flink实时向Hudi表写入数据,然后使用这个Hudi表来支持批量计算并通过一个flag来评估它的分区数......
  • What is the difference between session and application state in ASP.NET?
    WhatisthedifferencebetweensessionandapplicationstateinASP.NET?InASP.NET,SessionstateandApplicationstatearetwodifferentwaystostoredatat......
  • SSH 提示 Permission denied, please try again
    vim/etc/ssh/sshd_config输入:/PermitRootLogin查找  按i进入insert模式改为 PermitRootLoginyes输入::wq保存   重启ssh服务/etc/init.d/sshres......
  • 使用 upgrade-assistant 升级Framework项目到.NET
    只在VS2022有效首先安装扩展包 upgrade-assistant重启后打开netframework项目,并在VS中切换到终端切换到当前项目的文件夹运行升级命令、根据条件进行选择就行......