大连企业网站制作,临沂做网站推广的公司,如何建设门户网站,国外网站网址反序列化漏洞
序列化#xff1a;将对象的状态信息转换为可以传输或存储的形式的过程。简单的来说#xff0c;就是将一个抽象的对象转换成可以传输的字符串 #xff0c;以特定的形式在进行之间实现跨平台的传输。
序列化大多以字节流、字符串、json串的形式来传输。将对…反序列化漏洞
序列化将对象的状态信息转换为可以传输或存储的形式的过程。简单的来说就是将一个抽象的对象转换成可以传输的字符串 以特定的形式在进行之间实现跨平台的传输。
序列化大多以字节流、字符串、json串的形式来传输。将对象的某一状态写入永久或者临时存储区在有需要的时候就可以在存储区里读取对队形进行还原也就是反序列化。
1. 序列化与反序列化过程
例
1.定义了一个Vul类
?phpclass Vul{public $str Dai;function __destruct(){eval($this - str);}
}
?test.php:
?php
include ./vul.class.php;$s new vul();
echo serialize($s);
echo hr /;$_s $_GET[s_ser];
$s unserialize($_s);var_dump($s);?通过serialize( )将$s 序列化unserialize用来反序列化 2. 漏洞成因
程序没有对用户输入的反序列化字符串进行检测导致反序列化过程有可能会被恶意利用造成恶意代码的执行。
如在php中__construct( ) 函数会在创建对象的时候自动调用。__destruct( )会在销毁对象时自动调用。在php中__开头的函数会被自动调用。
3. 漏洞复现 java反序列化 [CVE 2017-10271]weblogic 10.3.6 ‘wls-wsat’ XMLDecoder 反序列化漏洞 [CVE 2016-4437]Apache Shiro 1.2.4 反序列化漏洞
化漏洞](https://vulhub.org/#/environments/shiro/CVE-2016-4437/)