一、前端绕过原理
通俗解释,我们将写有恶意代码的php后缀文件上传到网页,网页中的javascript代码会先对文件的后缀名进行检测,若检测到上传文件的后缀名为非法,则会进行alert警告。若想上传php后缀的文件,就要想办法对前端的检测代码进行绕过处理。
二、代码审计


三、通关思路
1、首先,将php文件的后缀改为合法的 .jpg/.png/.gif 类型。

2、然后,选择上传test.jpg,打开Burpsuite,进行抓包。

3、将filename中的 .jpg 改为 .php,绕过前端检测,将php文件发送到后端。

4、发包,观察到文件成功上传。

5、在新标签页中打开图片,可以看到我们php文件中执行后的代码。
我的php文件中的代码如下图:

由于写一句话木马需要关闭电脑防火墙,不安全,故写phpinfo()。
打开新标签页后如下图:

Pass01通关。