先看题目,页面一个登录框,本以为是SQL注入,但是打开源代码之后,发现了提示信息
image.png
看到提示信息,那就访问一下user.php,直接访问,什么都没有,那就试试备份文件下载吧。访问user.php.bak。
发现直接能下载,把后缀写改成.txt,登陆的时候直接抓包,爆破一波。

image.png
image.pngimage.png
爆破得到用户名和密码,用户名:lixiuyun ,密码:lixiuyun1990

登录之后,查看源代码,看到有一个表单被注释了,估计是前端注释了,但是后端还是在处理提交的表单,那么我们可以在本地搭建环境,把提交的表单交给服务器处理。
image.pngimage.png
看样子是白名单,白名单就点难绕过,试了一下00截断不行,试下双后缀绕过,发现出现不允许出现php。
image.png
那就有可能绕过,换成PHP的别名:

  1. php2, php3, php4, php5, phps, pht, phtm, phtml

发现pht可以绕过image.png
打开view.phpimage.png
image.png
filter的意思过滤,那就试一下file=fflaglag
image.png得到flag

总结:

白名单绕过可以尝试双后缀绕过,如果有黑名单,那就可以尝试别名绕过。
做题的时候不要忘记文件备份绕过,.bak