运维知识点-Apache HTTP Server

在这里插入图片描述

服务器解析漏洞

Apache解析漏洞
    Apache解析文件时是按照从右向左的方式,如果后缀名为不可识别文件解析,就再往左判断
    test.php.aaa.sss,Apache无法解析.aaa.sss,
    向左解析到.php,于是test.php.aaa.sss就被解析为php文件
    
    比如 test.php.qwe.asd “.qwe”和”.asd” 这两种后缀是apache不可识别解析,
	apache就会把wooyun.php.qwe.asd解析成php。
	www.xxxx.xxx.com/test.php.php123

能够使用php解析.phtml .php3 .php5 

前提是apache的httpd.conf中有如下配置代码
    AddType application/x-httpd-php
    AddType application/x-httpd-php .php .phtml .php3 .php5
    
其余配置问题导致漏洞    
    .htaccess(分布式配置文件)解析
        局部变量成功作用于当前目录下文件的两个条件
        (1.启用AllowOverride,2.开启mod_rewrite模块)
        修改httpd.conf:
        1、Allow Override All
        2、LoadModule rewrite_module modules/mod_rewrite.so
        是Apache服务器中的一个配置文件
        负责相关目录下的网页配置。针对每个目录改变配置的方法
        可以帮我们实现:
        网页301重定向、
        自定义404错误页面、
        改变文件扩展名、
        允许/阻止特定的用户或者目录的访问、
        禁止目录列表、
        配置默认文档等功能。
        把.htaccess文件放在一个目录中,其中里面的指令作用于此目录及其所有子目录。
        意味着允许用户自己修改服务器的配置,可能会导致某些意想不到的修改。安全起见,应该尽可能地避免使用.htaccess文件。

        <FilesMatch "myqf">
        SetHandler application/x-httpd-php
        </FilesMatch>
        作用是文件名包含myqf的都会以php代码执行


        .user.ini文件  所有的php文件都自动包含jpg文件
        1、服务器脚本语言为PHP
        2、服务器使用CGI/FastCGI模式
        3、上传目录下要有可执行的php文件 

        1、apache服务器。
        2、能够上传.htaccess文件,一般为黑名单限制。
        3、AllowOverride All,默认配置为关闭None。
        4、LoadModule rewrite_module mod	ules/mod_rewrite.so #mod_rewrite模块为开启状态
        5、上传目录具有可执行权限 


    可上传.htaccesss
        配置了黑名单,拒绝了几乎所有有问题的后缀名,除了.htaccess
        先上传一个.htaccess文件 上传后,403无法访问
        上传一个myqf.jpg文件,内容包含
        <?php phpinfo(); ?>
        上传当前目录的.htaccess 文件然后修改为以下内容:


        AddType application/x-http-php .jpg   #(上传的jpg 均以php执行).htaccess 上传后,且上传成功后,再上传内容为一句话的jpg文件 
    .htaccess绕过
    
1.如果在 Apache 的 conf 里有这样一行配置 AddHandler php5-script .php 
这时只要文件名里包含.php 即使文件名是 test2.php.jpg 也会以 php 来执行。

2.如果在 Apache 的 conf 里有这样一行配置 AddType application/x-httpd-php .jpg 
即使扩展名是 jpg,一样能以 php 方式执行。





修复方案





 
1.apache配置文件,禁止.php.这样的文件执行,配置文件里面加入



2.用伪静态能解决这个问题,重写类似.php.*这类文件,打开apache的httpd.conf找到LoadModule rewritemodule modules/modrewrite.so 把#号去掉,重启apache,在网站根目录下建立.htaccess文件

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .(php.|php3.) /index.php
RewriteRule .(pHp.|pHp3.) /index.php
RewriteRule .(phP.|phP3.) /index.php
RewriteRule .(Php.|Php3.) /index.php
RewriteRule .(PHp.|PHp3.) /index.php
RewriteRule .(PhP.|PhP3.) /index.php
RewriteRule .(pHP.|pHP3.) /index.php
RewriteRule .(PHP.|PHP3.) /index.php
 

介绍

Apache是一个开源的Web服务器软件,全称为Apache HTTP Server,由Apache软件基金会开发和维护。它是目前全球使用最广泛的Web服务器软件之一,占全球所有网络服务器的很大比例。Apache服务器具有跨平台的特性,可以在多种操作系统上运行,如Windows、Linux、Unix等。

Apache服务器快速、可靠,并且可以通过简单的API扩展,将Perl、Python等解释器编译到服务器中。它还支持多种协议和功能,包括HTTP、HTTPS、SSL/TLS、CGI、SSI、代理服务器等。此外,Apache具有高稳定性和安全性的特点,这得益于其成熟的开发和广泛的应用实践。

Apache被广泛用于托管网站、搭建Web应用程序、构建Web服务和代理等场景。它是接收和响应访问网页请求的软件,类似于餐厅的主机,会检查请求的网页并提取以供查看。

APACHE
后缀解析

文件解析漏洞
test.php.x1.x2.x3,Apache是从右往左判断后缀
例如1.php.aaa.zzz。

未知扩展名解析漏洞

配置错误导致的解析漏洞、目录遍历







.htaccess文件
Apache HTTP Server的文件目录系统级别的配置文件的默认的名字

局部配置文件  指定的文件进行解析  配合上传
```
插入
<FilesMatch “xxx.jpg”> SetHandler application/x-httpd-php
.jpg文件会被解析成.php文件。
```

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值