项目场景:
Apache HTTP Server 2.4.49,2.5.0
问题描述:
攻击者利用这个漏洞,可以读取位于Apache服务器Web目录以外的其他文件,或者读取Web目录中的脚本文件源码,或者在开启了cgi或cgid的服务器上执行任意命令。
原因分析:
远程命令执行 在httpd.conf的文件中的这俩配置,导致任意请求都能访问根目录,和cgi-bin目录。 CGI是一段程序,它运行在Server上,提供同客户端 Html页面的接口。如果它能目录穿越了,我们就可以到bin目录下的sh文件/bash文件(系统命令执行文件)里面去执行脚本,而脚本内容就是我们用POST传进去的内容。就相当危险了。
payload:curl -X POST -d “echo;id” http://ip:port/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh 或者利用bash命令写入一个木马回弹shell。 目录穿越 对于没有进行安全配置的Apache服务器,默认情况可以用xxx.com/icons/的方式打开Apache目录下的icons文件夹,并且会罗列出文件列表,这样很不安全。 在/apache2/conf/extra目录下,配置了icons的权限。也是允许所有进行访问,并且当用户访问该目录时,如果用户找不到DirectoryIndex指定的主页文件(例如index.html),则返回该目录下的文件列表给用户。 就导致了,直接访问icons会显示该目录底下的文件。
例如:命令curl http://xxxxx:xxxx/icons/ payload:curl http://ip:port/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd
解决方案:
在配置文件中指定可以访问目录的ip,并且指定访问CGI的ip。
|