zi-Chuan

这次呢,讲到extract()变量覆盖,首先普及下这个函数的知识点:

 该函数从数组中将变量导入到当前的符号表。

该函数使用数组键名作为变量名,使用数组键值作为变量值。针对数组中的每个元素,将在当前符号表中创建对应的一个变量。

该函数返回成功设置的变量数目。

 

extract($_POST)会将POST的数据中的键名和键值转换为相应的变量名和变量值,结合上面extract的特性,构造了post提交语句:key=xxx(这里值任意,只要不等于bad就好)

 

 

这里正则过滤了字母,数字,下划线,所以要绕过正则过滤,因此需要在正则开头或结尾添加字符以绕过,简单fuzz下发现%5c可以绕过。

接下来到

 

 

当看到 一个变量包含另一个变量时就想到了 creat_function()函数。\creat_functoin意思是全局调用creat_funtion函数。

?act=\create_function&arg=){}var_dump(scandir(%22./%22));//

 

 至此,完成上述绕过。

分类:

技术点:

相关文章:

  • 2021-12-24
  • 2021-12-24
  • 2021-12-24
  • 2021-12-24
  • 2021-10-08
  • 2021-11-16
  • 2021-12-24
猜你喜欢
  • 2021-03-04
  • 2021-12-24
  • 2021-12-24
  • 2021-05-17
相关资源
相似解决方案