PHP序列化

admin 2021年8月27日14:33:42评论33 views字数 611阅读2分2秒阅读模式

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…

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年8月27日14:33:42
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   PHP序列化http://cn-sec.com/archives/475125.html

发表评论

匿名网友 填写信息