简介
在Upload-Lab
的第20关中,系统没有对上传文件的内容进行验证,而是仅对用户输入的文件名进行了检查。具体来说,系统使用文件后缀名的黑名单进行过滤,但由于上传的文件名是用户可控的,这为绕过机制提供了可能性。此外,move_uploaded_file()
函数还有一个特性,即它会忽略文件名末尾的 /.
,这可以被利用来绕过后缀名的黑名单检查,从而上传恶意文件。

解法步骤
- 先准备
PHP
一句话木马,并把后缀名改为PNG
再上传。
<?php @eval($_POST["pass"])?<