extract() 方法可用于将数组展开,键名作为变量名,元素值为变量值,简单的说,就是能够直接将 $_POST 和 $_GET 中的变量解析出来,不需要我们手工赋值处理。
trim()去除字符串首尾处的空白字符
file_get_contents()将整个文件读入一个字符串
php://input可以访问请求的原始数据的只读流,在POST请求中访问POST的data部分,在enctype=“multipart/form-data” 的时候php://input 是无效的。
我们先对代码进行分析,而全部代码中有两个GET型的变量ac和fn,首先,ac的值不能为空,并且ac要等于f的值,否则显示sorry,而f的值是通过file_get_contents()将fn的值读入一个字符串中,在file_get_contents()可以用php伪协议进行绕过,通过使fn=php://input进行写入,使得fn=ac的值
伪协议file://读取文件
题目描述:尝试去读取一下Web目录下的flag.php吧
打开环境,为空页面,地址后面带着?url=,为ssrf漏洞,尝试使用伪协议file进行读取文件,网站默认地址为/var/www/html