第一关,先浏览尝试上传php文件,出现弹窗提示,可得到为白名单
(tips:一般规定允许上传某类型文件就为白名单过滤,不允许上传某某类型文件就为黑名单过滤。)
查看题目源代码,发现三种后缀的文件可以上传
进行简单的代码分析,可看出,代码中大概就是将我们上传的文件的.后面的后缀名提取出来赋值给变量ext_name,然后进行判断是否为jpg、png、gif三种类型中的一种,是则上传,否则不允许上传。
方法一 bp抓包修改文件名后缀绕过
- 上传后缀为.jpg的文件,文件内容为一句话木马 <?php @eval($_POST['shell']);?> ,使用bp抓包并修改文件后缀为php,即可上传成功
- 上传成功使用一句话木马连接即可。
方法二 禁用浏览器js代码
从大佬那里简单粗暴的方法:将浏览器js代码禁用掉,右键—检查—调试器—设置—禁用JavaScript。快捷方式:f12—f1就可以了
然后就可以上传了。
这种方法有缺陷,因为禁用了js代码,如果在实战中,网站的一些正常功能可能无法显示。当然打靶通关是可以的。
方法三 删去源代码中的js代码
右键—查看网站源代码—全部复制—创建一个记事本—将代码放进去—把记事本后缀名改为.html—用Notepad打开—找到js代码—删除
右键—检查—网络—然后上传一个正常的图片。这样我们就可以看到这个文件传给谁了。
用Notepad打开我们自己的html文件,修改action,这个action是告诉他这个图片提交给谁,因为这个源代码中没有,我们就自己加一个。
用浏览器打开我们的html文件,上传php文件即可。用蚁剑连接成功!
建议学会用第三种方法,在实战中,可能会遇到很多限制条件,第三种方法比较好用。