红队攻防之解析漏洞总结

VSole2022-07-29 22:46:00

0x00 服务器解析漏洞

服务器解析漏洞一般是服务器自身或扩展组件带来的漏洞,配合文件上传等漏洞就会产生很大的危害。

我们这里整理常见的服务器apache、IIS、nginx的解析漏洞。

0x01 apache

一、不可识别解析

apache解析文件的规则是从右到左开始判断解析,如果后缀名为不可识别文件解析,就再往左判断。

比如 test.php.owf.rar “.owf”和”.rar” 这两种后缀是apache不可识别解析,apache就会把wooyun.php.owf.rar解析成php。

apache版本在以下范围内

Apache 2.0.x <= 2.0.59 Apache 2.2.x <= 2.2.17 Apache 2.2.2 <= 2.2.8 都可以通过上传xxx.php.rar或xxx.php+任意无法解析后缀解析为php。

二、配置问题

1.如果在 Apache 的 conf 里有这样一行配置 AddHandler php5-script .php 这时只要文件名里包含.php 即使文件名是 test2.php.jpg 也会以 php 来执行。

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

三、罕见后缀

Apache配置文件中会有.+.ph(p[345]?|t|tml)此类的正则表达式,被当php程序执行的文件名要符合正则表达式。也就是说php3,php4,php5,pht,phtml等文件后缀也是可以被当作php文件进行解析的。

四、后缀包含换行符\x0A

CVE-2017-15715:Apache 2.4.0-2.4.29中,上传一个后缀末尾包含换行符的文件,来绕过FilesMatch。绕过FilesMatch不一定能被PHP解析。

0x02 IIS

一、目录解析

在IIS-6.0的版本,在.asp或.asa文件夹下的所有类型后缀文件全部解析为.asp文件。

存在数据库备份功能的系统并且备份路径可控的话经常会出现这个问题。

二、文件解析

在IIS-6.0的版本,服务器默认不解析;后面的内容,所以xxx.asp;.jpg会被解析成xxx.asp。

三、其他解析类型

在IIS6.0的版本,如下几种文件类型也会被执行。

xxx.asa xxx.cer xxx.cdx

四、php-cgi漏洞

在IIS-7.0和IIS-7.5的版本,在php配置文件中,开启cgi.fix_pathinfo,然后上传一个1.jpg的一句话木马文件。然后用菜刀访问1.jpg/.php即可连接一句话木马。

0x03 nginx

一、低版本nginx

空字节代码执行漏洞:nginx 0.5.x、nginx 0.6.x、Nginx 0.7-0.7.65、Nginx 0.8-0.8.37中可以通过在任意文件名后面增加%00.php解析为php,如1.jpg%00.php

二、php-cgi漏洞

和IIS的第四点相同,在php配置文件中,开启了cgi.fix_pathinfo,导致图片马1.jpg可以通过访问1.jpg/.php、1.jpg%00.php解析成php文件

0x04 windows解析漏洞

Windows操作系统中,文件名不能以空格或.开头,也不能以空格或.结尾。

当把一个文件命名为以空格或.开头或结尾时,会自动地去掉开头和结尾处的空格和.。利用此特性,也可能造成文件解析漏洞

0x05 应对

1.对于php-cgi漏洞,可以修改php.ini文件,将cgi.fix_pathinfo的值设置为0

2.使用白名单匹配文件后缀名

3.可以对上传后的文件固定后缀,并对之前的所有字符进行重命名

apachephp
本作品采用《CC 协议》,转载必须注明作者和本文链接
2020 Codegate Web题解
2022-07-07 08:09:51
Codegate 还是有很多国际强队参加的,这里记录 Codegate 的两道 Web题。
可以使用 '|"|}|) 等特殊字符进行检测,除了正常的参数提交外,注入的位置也可能存在于 HTTP header 中,比如 X-Forwarded-For、User-Agent、Referer、Cookie 中。不同数据库的报错内容:
声明由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测及文章作者不为此承担任何责任。雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。
打印所有可用的系统信息。查看系统内核架构。列出系统上的所有组。当前用户所在的组。#查看是否存在空口令用户。谁目前已登录,他们正在做什么。命令用于显示系统中有哪些使用者正在上面。[^可以看到yokan用户在sudo组里]:3、用户和权限信息whoami????????可以使用sudo提升到root的用户。当前用户可以以root身份执行操作。显示所有的环境变量。显示默认系统变量。查看etc下所有配置文件。#查看指定应用的安装版本
很早就想专门写一篇关于内网的文章,一直没有腾出空来,万万没想到,写下这篇文章的时候,竟然是我来某实验室实习的时间段:)
PHP disable_functions disable_functions是php.ini中的一个设置选项。相当一个黑名单,可以用来设置PHP环境禁止使用某些函数,通常是网站管理员为了安全起见,用来禁用某些危险的命令执行函数等。
disable_functions是php.ini中的一个设置选项。相当一个黑名单,可以用来设置PHP环境禁止使用某些函数,通常是网站管理员为了安全起见,用来禁用某些危险的命令执行函数等。
相当一个黑名单,可以用来设置PHP环境禁止使用某些函数,通常是网站管理员为了安全起见,用来禁用某些危险的命令执行函数等。高ini_restore()可用于恢复 PHP 环境配置参数到其初始值
常见渗透测试靶场
2022-05-12 06:47:27
作为新手,通常第一个听说的靶场应该就是DVWA,部署简单安装完对应版本的PAM(PHP-Apache-MySQL),简单配置后就可以使用。 1、DVWA靶场可测试漏洞:暴力破解(Brute Force)、命令注入(Command Injection)、跨站请求伪造(CSRF)、文件包含(File Inclusion)、文件上传(File Upload)、不安全的验证码(Insecure CAPT
VSole
网络安全专家