银河麒麟服务器操作系统编译安装httpd-2.4.54

银河麒麟服务器操作系统编译安装httpd-2.4.54

Apache简介

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中~

Apache攻击手段介绍

目前Apache存在换行解析漏洞与多后缀解析漏洞~

换行解析漏洞

影响版本:Apache 2.4.0 ~ 2.4.29

影响说明:绕过服务器策略,上传webshell

环境说明:PHP5.5、Apache2.4.10

漏洞原理:在php文件名后缀加了0x0a(换行),使得逃过了黑名单的检查,而Apache配置文件可以正确匹配.php0x0a的文件并当作php去解析。

注:在windows中不行,因为windows不允许换行符做文件名。所以虽然可以上传绕过检测,但文件无法保存。

多后缀解析漏洞

影响版本:使用module模式与php结合的所有版本apache存在未知扩展名解析漏洞,使用fastcig模式与php结合的所有版本apache不存在此漏洞。

影响说明:绕过服务器策略,上传webshell

环境说明:PHP7、任意版本的使用module模式与php结合的apache

漏洞原理:

apache支持php有多种模式,常见的有module、cgi、fastcgi等,此漏洞存在于module模式

Apache在遇到多个后缀的文件时,尝试从后往前解析,直到解析到可解析的为止。例如test.php.xxx就按照php去解析,test.php.aaa.jpg就按照php去解析。

根据这个原理,我们可以上传文件名如shell.php.xxx的文件,以此来绕过后端黑名单的检测,从而上传成功而且又能被Apache按照php去解析

应对方法

新版本的Apache已修复此漏洞,今日小编便编译最新版本:httpd-2.4.54

安装包下载网址:https://httpd.apache.org/download.cgi

银河麒麟服务器操作系统编译安装httpd-2.4.54

实验环境:虚拟机

系统版本:Kylin-Server-10-SP2-x86-Release-Build09-20210524

安装包可以直接官网下载,也可以在终端使用wget下载(需有wget工具)

安装wget

终端中输入命令:

[root@172 ~ ]# yum  -y install wget

银河麒麟服务器操作系统编译安装httpd-2.4.54

如图,我的系统中已安装wget且为最新版本,没有安装wget的可以使用 apt-yum  -y install wget 进行安装

下载相关安装包

[root@172 ~ ]#  wget https://httpd.apache.org/download.cgi/httpd-2.4.54.tar.gz

[root@172 ~ ]#  wget http://archive.apache.org/dist/apr//apr-1.7.0.tar.gz 

[root@172 ~ ]#  wget http://archive.apache.org/dist/apr/apr-util-1.6.1.tar.gz 

银河麒麟服务器操作系统编译安装httpd-2.4.54

银河麒麟服务器操作系统编译安装httpd-2.4.54

如图所示,相关安装包已下载完毕

添加用户

[root@localhost ~]# useradd -r -M -s /sbin/nologin apache

 

安装依赖包

[root@172 ~ ]#  yum -y install openssl-devel pcre-devel expat-devel  libtool

银河麒麟服务器操作系统编译安装httpd-2.4.54

解压安装包

[root@172 ~ ]#  tar -zvxf apr-1.7.0.tar.gz 

[root@172 ~ ]#  tar -zvxf apr-util-1.6.1.tar.gz 

[root@172 ~ ]#  tar -zvxf httpd-2.4.54.tar.gz 

查看解压后的文件

[root@172 ~ ]#  ls

银河麒麟服务器操作系统编译安装httpd-2.4.54

编译安装apr

[root@172 ~ ]#  cd apr-1.7.0/

[root@172  apr-1.7.0 ]#  vim configure

将框l蓝的一行注释掉,也就是在这一行行首添加#

银河麒麟服务器操作系统编译安装httpd-2.4.54

[root@172  apr-1.7.0 ]#  ./configure –prefix=/usr/local/apr

[root@172  apr-1.7.0 ]#   make

[root@172  apr-1.7.0 ]#   make  install

银河麒麟服务器操作系统编译安装httpd-2.4.54

编译安装apr-util

[root@172  apr-1.7.0 ]#  cd ../apr-util-1.6.1/

[root@172  arp-util-1.6.1 ]#  ./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr

银河麒麟服务器操作系统编译安装httpd-2.4.54

[root@172  arp-util-1.6.1 ]#  make

[root@172  arp-util-1.6.1 ]#  make  install

银河麒麟服务器操作系统编译安装httpd-2.4.54

编译安装httpd

[root@172  arp-util-1.6.1 ]#   cd ../httpd-2.4.54/

[root@172  httpd-2.4.54 ]#   ./configure –prefix=/usr/local/apache  –enable-so  –enable-ssl –enable-cgi –enable-rewrite –with-zlib –with-pcre –with-apr=/usr/local/apr –with-apr-util=/usr/local/apr-util/ –enable-modules=most –enable-mpms-shared=all –with-mpm=prefork

[root@172  httpd-2.4.54 ]#   make

[root@172  httpd-2.4.54 ]#   make  install 

银河麒麟服务器操作系统编译安装httpd-2.4.54

设置环境变量

[root@172 ~ ]# echo 'export PATH=/usr/local/apache/bin:$PATH' > /etc/profile.d/apache.sh

[root@172 ~ ]#  source /etc/profile.d/apache.sh

映射

[root@localhost ~]# ln -s /usr/local/apache/include/ /usr/include/apache

关闭防火墙

[root@localhost ~]# systemctl disable –now firewalld

[root@localhost ~]# setenforce 0

[root@localhost ~]# getenforce 

银河麒麟服务器操作系统编译安装httpd-2.4.54

启动服务

[root@localhost ~]# which  apachectl

[root@localhost ~]#  apachectl  start

[root@localhost ~]#  ss  -antl

银河麒麟服务器操作系统编译安装httpd-2.4.54

访问验证

浏览器输入:http://172.16.58.130

银河麒麟服务器操作系统编译安装httpd-2.4.54

至此,编译完成~

同时,欢迎扫码关注如下公众号

银河麒麟服务器操作系统编译安装httpd-2.4.54

      祝:

工作顺利

                       

点击阅读全文

上一篇 2023年 5月 28日 am10:25
下一篇 2023年 5月 28日 am10:26