2.php变量覆盖
1.题目
1 | $flag='xxxxxxxx'; |
2.过程
该函数使用数组键名作为变量名,使用数组键值作为变量值。但是当变量中有同名的元素时,该函数默认将原有的值给覆盖掉。这就造成了变量覆盖漏洞。
$_GET 变量用于收集来自 method=”get” 的表单中的值,(array[键名] => 键值)。
但$flag显然是一串字符,不是正确的文件路径。处理结果似乎为空值;
查找知,trim(NULL)=空值;trim(空值)似乎也为空值:
所以要求liwu等于空值,?liwu即可。
默认为空值
flag{s0metimes^its-useful};
3.知识点
- extract():从数组中将变量导入到当前的符号表该函数使用数组键名作为变量名,使用数组键值作为变量值。会将已有变量覆盖;
- isset()检测变量是否已设置并且非NULL;
- file_get_contents:根据文件路劲去读取文件内容,若路径错误则返回值为空;
- trim():移除字符串两侧的字符,
# 相关文章
1.GXYCTF2019-BabySQli
2.强网杯-2019-随便注
3.SUCTF-2019EasySQL
4.伪协议2
5.伪协议1
6.GXYCTF2019-PingPingPing
7.BuuCTF-WEB部分基础题-1
8.极客大挑战-2019-SecretFile
1.GXYCTF2019-BabySQli
2.强网杯-2019-随便注
3.SUCTF-2019EasySQL
4.伪协议2
5.伪协议1
6.GXYCTF2019-PingPingPing
7.BuuCTF-WEB部分基础题-1
8.极客大挑战-2019-SecretFile