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

  漏洞原理

  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" -->上传成功

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @   koitoYuu  阅读(87)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示