Apache SSI 远程命令执行漏洞

在测试任意文件上传漏洞的时候,目标服务端可能不允许上传php后缀的文件。如果目标服务器开启了SSI与CGI支持,我们可以上传一个shtml文件,并利用<!--#exec cmd="id" -->语法执行任意命令。
漏洞环境

运行一个支持SSI与CGI的Apache服务器:
Apache SSI 远程命令执行漏洞

环境启动后,访问http://your-ip:8080/upload.php,即可看到一个上传表单。
Apache SSI 远程命令执行漏洞

漏洞复现

正常上传PHP文件是不允许的,我们可以上传一个shell.shtml文件:
Apache SSI 远程命令执行漏洞

成功上传,然后访问shell.shtml,可见命令已成功执行:

Apache SSI 远程命令执行漏洞

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

上一篇:c++ cgi执行shell命令l发送qq邮件mailx


下一篇:当面试官问你在网页上点击一个链接或 URL 发生了什么是在问什么