PHP序列化

  • A+
所属分类:安全博客

PHP序列化

常见的一些魔法函数

__costruct()当一个对象创建时被调用

__destruct()当一个对象销毁时被调用

__toString()当一个对象被当作字符串使用

__waeup()将在序列化之后立即被调用

__wakeup()绕过

如果直接传参给code会被__wakeup()函数再次序列化,所以要绕过他

利用wakeup()函数漏洞原理:当序列化字符串表示对象属性个数的值大于真实个数的属性时就会跳过wakeup的执行。

序列化返回的字符串格式

漏洞举例

1
2
3
4
5
6
7
8
9
10
class S{
var $test = "pikaque";
function __destruct(){
echo $this->test;
}
}
$s = $_GET['test'];
@$unser = unserialize($a);

payload:0:0q:"S":1:{s:4:"test";s:29:"<script>alert('xss')</script>";}

未完待续。。。。。。。

FROM :https://ailumao.cn/ | Author:Ailumao

相关推荐: GGCTF-UPLOAD 通关记录

前言在 11月打 HW 的时候,遇到了一个靶标服务器二次渲染的文件上传点,因为之前没仔细研究没能拿到权限,还是有点遗憾的。而且 Getshell 的主要两个方式就是文件上传和远程命令执行,所以正好借着这个国光的文件上传靶场来总结一下文件上传的姿势。 手册123…

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: