辽宁沈阳做网站,WordPress模板推荐国外,做外贸的专业网站,宁夏网站seo[题目信息]#xff1a;
题目名称题目难度PHP-extract变量覆盖1
[题目考点]#xff1a;
变量覆盖指的是用我们自定义的参数值替换程序原有的变量值#xff0c;一般变量覆盖漏洞需要结合程序的其它功能来实现完整的攻击。
经常导致变量覆盖漏洞场景有#xff1a;$$#x…[题目信息]
题目名称题目难度PHP-extract变量覆盖1
[题目考点]
变量覆盖指的是用我们自定义的参数值替换程序原有的变量值一般变量覆盖漏洞需要结合程序的其它功能来实现完整的攻击。
经常导致变量覆盖漏洞场景有$$extract()函数parse_str()函数等.[Flag格式]:
SangFor{f2HVuTe47VPOzKlT}[环境部署]
docker-compose.yml文件或者docker tar原始文件。
http://分配ip:2008[题目writeup]
1、实验主页 2、源码分析
?php
include(flag.php);
if ($_SERVER[REQUEST_METHOD] “POST”)$SangFor 666;$SXF 2333;extract($_POST);if ($SangFor $SXF) {$flag;}else{咋回事呢;}
highlight_file(__FILE__);
?extract该函数使用数组键名作为变量名使用数组键值作为变量值。但是当变量中有同名的元素时该函数默认将原有的值给覆盖掉。这就造成了变量覆盖漏洞。
由此可以通过POST方法覆盖变量$SangFor将其变量值覆盖为2333来构造if条件判断为真即可输出flag。
POST
SangFor2333