一、解题思路:
打开链接,是一个很不错的网页
先上传一个webshell试试看
burpsuite无法抓包,还有弹窗题型
黑名单检测一般弹窗:不允许上传xxxxx后缀文件
白名单检测一般弹窗:只允许上传xxxxx后缀文件
所以我推测应该是前端验证,我们可以查看源代码验证一下
果然有JavaScript的痕迹
两种方法绕过前端校验
1.删除前端校验的关键函数checkFile(),但是每次上传都需要进行删除
2.禁用JavaScript
我们就直接删除checkFile()函数
上传后发现失败语句,说明还有后端校验
我们只能上传弹窗所提示后缀的文件,否则都会被后端认为是Bad file
那我们post.php后缀改为.jpg
因为我们绕过了前端校验,所以可以进行抓包
上传post.jpg,并抓包
因为我们上传的是jpg文件,无法解析为webshell,后续也无法进行连接
但是php后缀文件又被禁了(这应该也算黑名单检测)
所以把.jpg,改为php的特殊后缀phtml
上传成功
拼接一下路径
http://649cc9e9-0af3-45d6-9a4e-559934997634.node5.buuoj.cn:81/uplo4d/1406a3b458d663eb5c3e61b80d160948.phtml
蚁剑连接
在根目录下成功找到flag
二、总结:
1.这一题包含了前端校验和后端的黑名单校验
2.上传后的jpg文件后缀记得更改,刚开始我直接上传了一个图片马,成功上传但蚁剑怎么也连接不上。最后才想起来是因为图片马的后缀是.gif,服务器无解析为webshell,需要更改后缀