打开靶机,是一个文件上传界面
首先尝试 上传php文件,设置Content-Type: image/jpeg
看到会过滤<?,所以尝试放到脚本里面
猜测服务端也进行验证了,添加文件头 GIF89a
这样就可以上传了,我们把文件扩展名修改一下,试了一下,phtml能通过验证
接下来可以继续用burp,为方便直接,我们用蚁剑
连接成功后,找到/flag ,直接打开就行。
后来我试了一下,通过POST方法,由于$_POST[cc]只能从表单中提交的数据中提取,构造这样的数据不是很方便,还不如用 $GET[cc]
我们把 pic.phtml修改一下,让他从GET和POST都取
这样的话蚁剑能连接成功,burp也可以通过GET传入参数。
测试的时候发现,即使是POST方法,即请求为:
POST /upload/pic.phtml?cc=system('pwd')%3b HTTP/1.1
$GET很能取值,非常的智能,哈哈哈
而且还发现,如果pic.phtml中只保留GET,那么蚁剑是没法连接的,又学到了