解题思路
触发vipOneKeyGetFlag()
username='xxxxxx' 和 $password='xxxxxx'; 为 真 看 代 码 只 要 传 入
?username=xxxxxx&password=xxxxxx
$user = unserialize($_COOKIE['user']);
eval()
函数被调用的地方是在backDoor
类的getInfo()
方法中。要触发eval()
函数,需要调用getInfo()
方法,并向$code
属性提供要执行的代码。
SoapClient采用了HTTP作为底层通讯协议,XML作为数据传送的格式,其采用了SOAP协议(SOAP是一
种简单的基于 XML 的协议,它使应用程序通过 HTTP 来交换信息),其次我们知道某个实例化的类,如果
去调用了一个不存在的函数,会去调用 __call 方法
<?php
error_reporting(0);
highlight_file(__FILE__);
include('flag.php');
if(preg_match('/ctfshow_i_love_36D/',serialize($_GET['ctfshow']))){
echo $flag;
}
题目意思就是你序列化出来的东西需要包含字符串ctfshow_i_love_36D,
那我们直接传ctfhsow=ctfshow_i_love_36D就可以了。
打开先登录