BMZCTF——web
所有题目wp都经过实践。可放心食用。
hitcon_2017_ssrfme
解题思路
打开题目,看到下面代码,尝试了解所表达的意思。
定义一个变量sandbox,沙箱。路径则是在字符串orange加上所访问的ip地址,php使用$_SERVER[“REMOTE_ADDR”]获取访问IP地址(浏览器输入ip就能看到)。
可以先测试一波,url随便写,再加上条件文件名
构造payload:?url=1&filename=111.html
发现没变化,那我们再去验证下是不是成功创造了111.html文件
去到沙箱下的MD5目录下的文件,(注意md5是32位小,应该区分大小写。我试反正被坑到了)
访问发现文件是创造成功的,没有报404错误,就说明是存在的。
我们继续构造payload,这个靶场下的flag存放地址基本都在/flag,直接尝试就行。如果较真的也可以在url后面加命令,如ls之类,找到flag地址,一个道理。
生成文件后,再去原目录访问刚构造的文件,获取payload。