第三关的本意其实是想上传一些后缀名为php、php2、php3、php5、phtml等文件去绕过黑名单的,但是apache的配置文件里并没有配置将这些后缀的文件当做php解析
第三关第四关都是黑名单检测,但是在这里黑名单里都没有对.htacess做限制,所以这两关都可以上传.htaccess去绕过,.htaccess文件的内容如下
<FilesMatch "tony">
SetHandler application/x-httpd-php
</FilesMatch>
我们将这样一个.htaccess文件上传到服务器上传目录,这样的话,当apache在解析该目录下的php时,就会按照.htaccess中的要求去解析,只要匹配到了文件名里有tony这个字符串,就会把该文件当成php文件解析首先上传这样的一个.htaccess文件
.htaccess可以上传成功
接着上传一个黑名单里没有过滤的随意后缀名文件,但是文件名里要有tony,上传一个tony.jpg,内容为一句话木马
上传成功,并且tony.jpg会被apache当成php文件解析
第四关也是同样的方法
By the way,许多对安全感兴趣但没有这方面经验的小朋友,看到这里总是感觉显示一个phpinfo的页面能代表什么,能够执行phpinfo(),这个函数证明,上传的文件可以执行PHP脚本,这个时候如果上传的是一句话木马<?php eval($_POST['A'])?>,就可以直接配合『菜刀』拿下整个站点,查看源码,甚至修改数据库或者控制操作系统。
联系客服