1.apache由于配置不当,可能造成解析漏洞
Apache默认一个文件可以拥有多个扩展名。判断文件后缀名的规则是从右往左开始判断的,如果后缀名为不可解析的后缀名,就会从左往右判断,就是说可以上传一些xxx.php.jpg之类后缀名的webshell
2.准备一个文件写入下面的内容,然后命名为xxx.php.jpg
<?php phpinfo();?>
3.上传文件成功,之后访问一下。
4.成功被解析
5.然后蚁剑连接一下
连接成功,漏洞是因为虽然是白名单上传文件,但是由于碰到了无法解析的后缀名,就会从左往右判断,文件名解析类型是通过.htaccess文件配置的。
AddType application/x-httpd-php xxx 增加xxx后缀为php文件类型
<FilesMatch "shell.jpg"> 只让shell.jpg认为是php文件类型
SetHandler application/x-httpd-php
</FilesMatch>