}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...
由此可得session值可以控制,(比如后面要控制的 $_SESSION["img"]="payload" ) 三、由下图可得: 序列化 $_SESSION =》filter过滤函数 =》反序列化 =》base64解密文件名(例子:$username['img']="base64加密后的d0g3_f1ag.php") 综上所述:需要先对 d0g3_f1ag.php 加密,然后赋值给 $_SESSION['img']...
https://buuoj.cn/challenges#[%E5%AE%89%E6%B4%B5%E6%9D%AF%202019]easy_serialize_php 一眼反序列化,首先是源码解析: 这里分一下类方便快速理解: 应该是flag.php这里我自己找到了没截图所以搜索的auto,我看其他大佬wp里面直接搜索的auto,没去深究,有其深意大伙可以评论区教教,第二点:我们想要得到flag肯...
将_SESSION序列化且过滤,将值赋给$serialize_info 当get传入的f的值,也就是$function的值等于'show_image'时,就会将$serialize_info反序列化,然后将值赋给$userinfo['img']指向的文件(base64解密后) 最后将会高亮userin 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 总体 我们主要用到的就这...
<?php $_SESSION["user"]='*';$_SESSION['function']='**';$_SESSION['img']=base64_encode('guest_img.png');echoserialize($_SESSION);//a:3:{s:4:"user";s:1:"*";s:8:"function";s:2:"**";s:3:"img";s:20:"Z3Vlc3RfaW1nLnBuZw==";} ...
BUU [安洵杯 2019]easy_serialize_php 源码如下 <?php$function = @$_GET['f'];function filter($img){$filter_arr = array('php','flag','php5','php4','fl1g');$filter = '/'.implode('|',$filter_arr).'/i';return preg_replace($filter,'',$img);}//把过滤的这些字符串替换为空if(...
easy_serialize_php 考点 变量覆盖 预包含 反序列化中的对象逃逸 题解 首先打开网页界面,看到source_code,点击就可以直接看到源码。 从上往下阅读代码,很明显的可以发现一个变量覆盖。至于这个覆盖怎么用,暂时还不知道,这是第一个考点。 往下看,可以看到我们可以令function为phpinfo来查看phpinfo,此时就可以看到我的...
<?phpclassName{private$username= 'nonono';private$password= 'yesyes';publicfunction__construct($username,$password){$this->username =$username;$this->password =$password; } }$a=newName('admin', 100);var_dump(serialize($a));?> 1. ...
所以对于本题来讲应该只需要对这个页面做文章,不用想别的页面了。我们要搞清楚PHP中session机制的工作流程,同时我们也要明白这个题目里根本没有读取session文件,这个题只是把$_SESSION数组进行了serialize(),这种地方不要因为看到php处理器而犯迷糊。 2.虽然使用的是php处理器,但按上面所讲显然不存在解析器差异带来...
这样看来这个$userinfo['img']并不是我们可控的,此时需要把注意力转移到另外一个函数serialize上,这里有一个很明显的漏洞点,数据经过序列化了之后又经过了一层过滤函数,就是数组里提到的'php','flag','php5','php4','fl1g'都会被空格替代,而这层过滤函数会干扰序列化后的数据。0x...