NSS [UUCTF 2022 新生赛]ez_upload

NSS [UUCTF 2022 新生赛]ez_upload

考点:Apache解析漏洞

开题就是标准的上传框

NSS [UUCTF 2022 新生赛]ez_upload_第1张图片

起手式就是传入一个php文件,非常正常的有过滤。

NSS [UUCTF 2022 新生赛]ez_upload_第2张图片

.txt.user.ini.txxx都被过滤了,应该是白名单或者黑名单加MIME过滤,只允许.jpg.png

猜测二次渲染,传了图片马上去,但是没什么用,还抓不到包了。

NSS [UUCTF 2022 新生赛]ez_upload_第3张图片

network看了一下报文发现是Apache,版本是2.4.10考虑到解析漏洞。

NSS [UUCTF 2022 新生赛]ez_upload_第4张图片

Apache解析漏洞_蒙奇奇的博客-CSDN博客

Apache解析漏洞分为三种


一、因为Apache默认一个文件可以有多个用.分割得后缀,当最右边的后缀无法识别(mime.types文件中的为合法后缀)则继续向左看,直到碰到合法后缀才进行解析(以最后一个合法后缀为准)

shell.php.xxx因为后缀.xxx不合法,所以向左看,.php为合法后缀,解析为.php格式文件。


二、AddHandler导致的解析漏洞

如果服务器给.php后缀添加了处理器:AddHandler application/x-httpd-php.php
那么,在有多个后缀的情况下,只要包含.php后缀的文件就会被识别出php文件进行解析,不需要是最后一个后缀。如shell.php.jpg中包含.php,所以解析为php文件


三、Apache换行解析漏洞(CVE-2017-15715)

影响范围:2.4.0-2.4.29版本

原因:合法后缀配置文件中的正则表达式中$不仅匹配字符串结尾位置,还可以匹配\n\r,在解析时,shell.php\x0A将按照.php进行解析,而’.php\x0A’ != ‘.php’,如果过滤时过滤了.php但没有过滤.php\x0A从而实现绕过。


但是wp是shell.jpg.php会被当成php解析?????????????????

版本是2.4.102.4.0-2.4.29以内,应该是Apache换行解析漏洞(CVE-2017-15715)啊。不懂,但他是对的。

注意这里还要改一下MIME,加一个魔术文件头。

NSS [UUCTF 2022 新生赛]ez_upload_第5张图片

NSS [UUCTF 2022 新生赛]ez_upload_第6张图片

你可能感兴趣的:(CTF-web(零散wp合集),web安全,文件上传,Apache)