Upload
upload-lab的第一关设计了一个方便的文件上行表单,前端经过JavaScript启动文件裁减名验证。只要特定类型的文件(如.jpg,.png等)可以经过验证并上行。咱们的指标是绕过前端验证,上行一个蕴含恶意代码的文件。下图是第一关的源码:
前端验证上行文件类型
了解前端验证
首先,关上第一关的页面,检查文件上行表单的HTML代码和JavaScript代码。通常可以经过阅读器的开发者工具F12来检查页面源代码和调试JavaScript。
检查源码
可以看到,checkFile函数在表单提交时会审核文件的裁减名。假设裁减名不在准许的范畴内,文件上行会被阻止。
绕过前端验证
要绕过前端验证,可以经过以下几种方法:
通常绕过验证
咱们选用经常使用开发者工具修正HTML代码。详细步骤如下:
(1) 关上阅读器的开发者工具F12
删除前端文件校验
(3) 选用要上行的文件,例如,一个名为shell.php的恶意文件,内容如下:
(4) 提交表单,上行成功如下图所示:
webshell上行成功
上行成功后,经过阅读器的前往结果获取webshell的存储位置,访问webshell,如下图:
展现PHPinfo消息
详细的展现了PHP的一切消息。这样就把webshell上行成功了。
总结
经过上述步骤,咱们成功绕过了 upload-lab 第一关的前端验证,上行了一个蕴含恶意代码的文件。这展现了前端验证的无法靠性,强调了在实践开发中必定在主机端实施严厉的文件类型和内容审核。