首页 > Web开发 > 详细

php代码审计9审计反序列化漏洞

时间:2019-02-09 12:52:17      阅读:213      评论:0      收藏:0      [点我收藏+]

序列化与反序列化:
序列化:把对象转换为字节序列的过程称为对象的序列化
反序列化:把字节序列恢复为对象的过程称为对象的反序列化

漏洞成因:
反序列化对象中存在魔术方法,而且魔术方法中的代码可以被控制,漏洞根据不同的代码可以导致各种攻击,如代码注入,sql注入,目录遍历等等

序列化的不同结果
public:
private:
protect:

漏洞本质:unserialize函数的变量可控,php文件中存在可利用的类,类中有魔术方法

魔术方法:
_construc(),_destruct()
_call(),_callStatic()
_get(),_set()
_isset(),_unset()
_sleep(),_wakeup()
_toString()
_invoke()
_set_state()
_clone()
_debuginfo()

代码:
<?php
error_reporting(0);
include "flag.php";
$KEY = "D0g3!!!";
$str = $_GET[‘str‘];
if (unserialize($str) === "$KEY")
{
    echo "$flag";
}
show_source(__FILE__);

直接上传s:7:"D0g3!!!"即可

php代码审计9审计反序列化漏洞

原文:https://www.cnblogs.com/Hydraxx/p/10357335.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!