Apache httpd中间件漏洞

作者: const27 分类: All,中间件安全 发布时间: 2020-06-17 06:24



apache文件多后缀名解析漏洞

与其说这是一个漏洞,不如说这是一个特性,很多程序员不知道这种特性,所以会写出有问题的代码。
特性:多后缀名(全版本都有这个特性)
apache在解析一个文件的后缀名时,是从右往左解析后缀名的,如果右边的后缀名不认识,就会继续向左识别,直到识别到一个认识的后缀名,但是万一都不认识呢?都不认识的话默认情况下是plain/text处理。那么apache是怎么知道哪个后缀名它是认识的呢?答案是认识的后缀名们都被记录到一个叫mime.types的文件中了。这个文件呢,Windows放在conf文件夹里,linux放在/etc/mime.types(不一定在这里,需要自己找找),打开后是这样

image



定义了不同的后缀名应该向浏览器返回什么样的mime格式。这里要说的是有些情况下的mime.types没有提供对php的解析方法,对php的解析规则放在另一个文件,Windows下在/conf/extra/httpd-php.conf。Linux也有这个文件在/etc/apache2/mods-enabled/php7.2.conf(或者和Windows的路径一样),打开后是这样的,定义了文件名满足什么条件(正则表达式)才会将他给php处理器处理,而且,如果你mime.types里匹配到了php后缀,但这个处理器匹配文件没有匹配成功,他还是不会把php文件进行处理

image



可以试一试,确实是这样的,apache对这个文件第一个匹配到的后缀名是jpg,所以把它当作图片处理了,返回了图片类型的mime头,浏览器也就把这个文件当作图片处理,于是出现了这种情况

image



当然,用这种多域名特性去解析php文件的话,就需要在上文提到的文件里去修改修改哦。

apache 换行绕过

2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。

apache ssi远程命令执行漏洞(原理和ssi注入一样)

如果服务器开启了ssi与cgi支持,即可上传shtml文件并在shtml文件中输入ssi指令 <!–#exec cmd=”payload” –>,如 <!–#exec cmd=”ls” –> ,然后再访问这个文件即可获得ls的结果



如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

Leave a Reply

Your email address will not be published. Required fields are marked *

标签云