项目场景:
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传进去的内容。就相当危险了。
![在这里插入图片描述](https://img-blog.csdnimg.cn/76c2fb6c08074866b143abd4c0e3b17d.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/9dacce26e04845df95a4856ef3322938.png) 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),则返回该目录下的文件列表给用户。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/7d253141e2f24b0fbd8384b2cb7c1e65.png) 就导致了,直接访问icons会显示该目录底下的文件。
例如:命令curl http://xxxxx:xxxx/icons/ ![在这里插入图片描述](https://img-blog.csdnimg.cn/fdc74ddd6e2c41d08d8074bd9fb02337.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA54aK5piv5pys54aK,size_20,color_FFFFFF,t_70,g_se,x_16) payload:curl http://ip:port/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd
解决方案:
在配置文件中指定可以访问目录的ip,并且指定访问CGI的ip。
|