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

国外网站建设什么价格低微信做淘宝客 网站打不开

国外网站建设什么价格低,微信做淘宝客 网站打不开,网架制造厂,嘉兴网站系统总部一#xff0c;php面向对象。 1.面向对象#xff1a; 以“对象”伪中心的编程思想#xff0c;把要解决的问题分解成对象#xff0c;简单理解为套用模版#xff0c;注重结果。 2.面向过程#xff1a; 以“整体事件”为中心的编程思想#xff0c;把解决问题的步骤分析出…一php面向对象。 1.面向对象 以“对象”伪中心的编程思想把要解决的问题分解成对象简单理解为套用模版注重结果。 2.面向过程 以“整体事件”为中心的编程思想把解决问题的步骤分析出来用函数依次实现注重过程。 3.类 将数据和数据上的操作封装在一起 内部构成成员变量属性成员函数方法 注属性在外部是不可以直接看到的但是可以访问。 1创建一个类 其中var的作用是声明变量 $this为预定义 2new new的作用是讲之前定义的类实体化类里先定义了才能在后面赋值   注意之前的声明变量并不会执行出任何内容包括上面的echo因为上面定义的变量里面没有任何内容。只有将类实例化成对象并给参数赋值再打印输出才会有值输出。 4.类的修饰符 分为三类。用了修饰符以后可调用范围会改变详情如下可省略默认为是public 私有属性privade只有父类可以用 5.继承 继承性是子类自动共享父类数据和方法的机制如上hero2对父类hero的继承可以表达出身高 二.序列化基础知识 1.什么是序列化 序列化是将对象或数组转化为方便存储、传输的字符串php使用serialize()函数将对象序列化 序列化只作用于对象的成员属性不序列化成员方法 2.反序列化值 各类型值的serialize序列化 空字符                null                -                                        N;               空 整型                   123                -                                        i:123;           int 浮点型                1.5                -                                        d:1.5;           double boolean型          true                -                                        b:1; boolean型          false              -                                        b:0; 字符串               “haha”            -                                        s:4:haha;      string型6个单位长   3.数组,对应规则如下。 4.对象序列化 只作用于对象的成员属性变量不序列化成员方法函数 在如下代码比较中我们可以看得到对象pub的内容benben被输出但是方法函数却没有任何改变。 5.私有属性的序列化 会在变量前加上%00占一个位类名%00这里的%00不是空格而是null空。         在下面的示例中在原变量名pub之前加上了类名test表面上看只有7个字符但是实际加上了两个%00就使得长度变为了9 假若你将内容用url编码输出你就可以看到他的真实样子在test前后都有%00 6.保护属性的序列化 会在变量名前加上%00*%00 7.成员属性调用对象过程及序列化pop链序列化 对象的成员属性是另一个对象序列化值出现嵌套。 三反序列化 1.反序列化后的内容是一个对象。 如下代码展示序列化 整个过程是对象通过序列化变为字符串而反序列化让字符串变为对象。 2.反序列化生成的对象的值与原来的类的预定义无关而是由反序列化的值提供。 在上面的示例中$c输出的值没有按序列化的值xxxxxx输出而是以反序列化的值hellow提供因此在输出的$c中$c的值为hellow。 3.反序列化不能触发类里的成员方法如果想用需要调用除魔术方法外。 在下面的示例中我们调用了之前的成员方法使得$c的输出  输出username的内容但是在反序列化之后username的内容改变了上一条的原因因此最后输出的内容就是hellow   附为什么会有反序列化漏洞 因为在反序列化过程中unserialize()的值可控通过更改这个值得到需要的代码 8.反序列化漏洞的利用 eg1 四.魔术方法 问1.什么是魔术方法 魔术方法是预先定义好的在特定情况下自动触发的行为方法 问2.魔术方法的作用 在反序列化过程中unserialize()的值可控通过更改这个值得到需要的代码通过调用方法触发代码执行。 1._construct() 构造函数在实例化一个对象的时候首先执行的方法实例化对象时触发构造函数_construct() 在如下示例中并没有调用方法而是由魔术方法触发的。 2.__destruct() 析构函数在对象的所有引用被删除或者当对象被显示销毁时执行的魔术方法。 在如下示例中 实例化对象结束以后代码完全销毁触发析构函数__destruct() 这是第一次触发          反序列化本身也是对象反序列化生成的对象在释放时触发构析函数这是第二次触发 附析构函数示例 在如下示例中我们构造了一个payload通过get传参使得代码触发构析函数构析函数再执行evaleval触发代码。 3.__sleep() 序列化serialize会检查是否存在一个__sleep()的魔术方法如果存在会先调用该魔术方法再进行序列化  这个函数可以用来清理对象冰饭换一个数组这个数组里面理包含有该被序列化的变量名如果没有返还任何内容则null被序列化并产生一个E_NOTICE级别的错误。 触发时机serialize之前 功能对象被序列化之前触发返还需要被序列化储存的成员属性删除不必要的属性。 参数成员属性 返还值:需要被序列化储存的成员属性 在一下示例中第12行_sleep 函数返还的变量是username和nickname在代码执行序列化之前检查了_sleep()函数发现过滤了password因此在序列化之后password就没有了。 4._weakup() 反序列化unserializezai在执行之前会检查是否有_weakup()如果有则先调用_weakup()预先准备对象需要的资源 作用预先准备对象资源返回void常用于反序列化中重新建立与数据库的链接或者执行其他初始化操作。 触发时机反序列化unserialize之前 如下示例 在输出中可以看到_weakup()将username的值a赋给了password并且展示出了类名User和password的属性private。在源代码中$user_ser没有将password和order赋值因为触发了_weakup(),在输出中就加上了password的值为aorder没有值就返回NULL。 五.pop链的构造思路知识——构造代码写poc代码 六.反序列化逃逸 七.session反序列化漏洞 八.phar反序列化 九题目示例 [SWPUCTF 2021 新生赛]ez_unserialize 1.打开题目只有一张动图源码里也没有什么 2.用御剑扫一下,依次访问在robot.txt中找到一个c145s.php 3.再次访问出现真正的题目是一串代码意思是满足adminadminpasswdctf触发__destruct()函数就可以得到flag
http://www.hkea.cn/news/14350524/

相关文章:

  • 单位网站 单位网页 区别竞价开户
  • 微信公众号php网站开发龙口网站制作价格
  • 网络营销导向企业网站建设的原则包括家纺 网站建设 中企动力
  • 成都建设厅官方网站网络推广是以企业产品或服务
  • 百度公司网站怎么做大庆金思维科技网站开发
  • 建设网站实训收获建设网站的方法
  • 网站访问量过大台州seo
  • 网站开发后的经验总结营销战略
  • 电视台网站策划书自己可以创建公司网站吗
  • 西安网站制作建设龙岗网站建设培训
  • 百度免费域名注册网站网站建设工程师
  • 做校园后勤管理网站得重点难点怎样开始学做自媒体
  • wp做网站难吗h5小游戏制作
  • 深圳市建设工程质量检测网站学习做网站难吗
  • 江苏做网站xlec互联网公司网站
  • 怎么做网站logo网站人多怎么优化
  • 网站导航类型推动高质量发展心得
  • 国外黄冈网站推广软件免费吗松原做公司网站
  • 电商网站设计与制作个人网站名称请
  • 广东建设执业资格注册中心网站网站模板的制作怎么做
  • 电子商务网站建设规划论文lniux上安装wordpress
  • 在哪里可以建设网站团购产品 网站建设
  • 重庆网站推广方法大全版面设计图片
  • 怎么进网站aws 虚机wordpress教程
  • 拐角型布局网站dw建立网站之后怎么做
  • 网站如何批量上传产品沈阳工务轨道建设网站
  • 正规刷手机单做任务网站水墨风格 网站
  • 大型网站建设用什么系统好如何建手机销售网站
  • 建设营销型网站公司网站的关键词和描述
  • 我贷款网站如何做内部oa管理系统