NSATP-A学习笔记之Day4-2apache解析漏洞

Posted 火星上烤鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NSATP-A学习笔记之Day4-2apache解析漏洞相关的知识,希望对你有一定的参考价值。

文件上传-apache解析漏洞

实验目的

  • 练习apache解析漏洞。

  • 实验环境

    lamp

    • IP:172.16.12.2

原理

  • Apache 是从右到左开始判断解析,如果为不可识别解析,就再往左判断。

  • 比如xxx.php.rar对apache来说

    • rar是不可解析的,所以就会解析成xxx.php。
  • Apache并不认识rar后缀名,对它来说会看成test.php。解析成功。

  • 其实漏洞的关键就是apache的"合法后缀",不是"合法后缀"的都可以被非法利用

实验工具

  • 火狐浏览器:是一款非常流行的internet浏览器
  • 蚁剑:是一款专业的网站管理软件,本次试验主要用到其动态脚本管理功能
  • hackbar:Hackbar是一个Firefox的插件,是一种简单的安全审计/渗透测试工具。此工具栏将帮助您测试SQL注入

实验内容

1、访问靶场出现如下界面。进入长传作业界面。

2、该页面发现存在上传点,但是好像是只能传docx。

3、先尝试长传一个木马。

4、发现服务器禁止上传一句话木马。

5、通过页面探测可以发现中间件是apache。那么我们尝试通过apache的解析漏洞来绕过。

  • 直接在后面加上.docx。

  • 因为apache是从后往前解析后缀名的,

  • 当docx无法解析是自然会解析php。

6、直接上传可以上传成功。

7、回到首页,直接点击上传的webshell,复制链接到蚁剑。




漏洞防御

解决方案一

在httpd.conf或httpd-vhosts.conf中加入以下语句,从而禁止文件名格式为*.php.*的访问权限:

<FilesMatch ".(php.|php3.|php4.|php5.)">
Order Deny,Allow
Deny from all
</FilesMatch>

解决方案二

如果需要保留文件名,可以修改程序源代码,替换上传文件名中的“.”为“_”:

$filename = str_replace('.', '_', $filename);

如果不需要保留文件名,可以修改程序源代码,将上传文件名重命名为时间戳+随机数的格式。

使用module模式与php结合的所有版本 apache存在未知扩展名解析漏洞,使用fastcig模式与php结合的所有版本apache不存在此漏洞。并且,想利用此漏洞必须保证文件扩展名中 至少带有一个“.php”,否则将默认被作为txt/html文档处理

解析漏洞,使用fastcig模式与php结合的所有版本apache不存在此漏洞。并且,想利用此漏洞必须保证文件扩展名中 至少带有一个“.php”,否则将默认被作为txt/html文档处理

免责声明

本文档供学习,请使用者注意使用环境并遵守国家相关法律法规!
由于使用不当造成的后果上传者概不负责!

以上是关于NSATP-A学习笔记之Day4-2apache解析漏洞的主要内容,如果未能解决你的问题,请参考以下文章

NSATP-A学习笔记之Day1

NSATP-A学习笔记之Day2-6hydra爆破

NSATP-A学习笔记之Day2-1webshell介绍

NSATP-A学习笔记之Day4-5实战2

NSATP-A学习笔记之Day2-5burp爆破

NSATP-A学习笔记之Day3-4常见注入类型