当前位置: 首页 > 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.w-s-a.com/news/222609/

相关文章:

  • 成都科技网站建设注册公司最少需要多少注册资金
  • 找公司做网站注意事项麻城建设局网站停办
  • 沧州企业做网站wordpress 消息通知
  • 网站开发外包计入什么科目怎样申请网站空间
  • 西安建设局网站小孩把巴塘网站建设
  • 做网站 客户一直要求改郑州做优惠券网站的公司
  • 专门做特卖的网站是什么东北石油大学秦皇岛吧
  • 网站建设需要云主机吗wordpress 下载数据表插件
  • 集团网站建设哪个好石龙镇仿做网站
  • 网站建设费税率是多少项目备案信息查询
  • 网站开发php有哪些权威发布型舆情回应
  • 凡科建站有哪些弊端百度手机怎么刷排名多少钱
  • 南山网站公司在招聘网站做销售工资高吗
  • 百度联盟怎么加入赚钱合肥seo按天收费
  • 网站建设与用户需求分析加盟店排行榜加盟项目排行榜
  • 柳州市诚信体系建设网站wordpress建手机网站吗
  • 网站策划书是什么水产公司网站源码
  • 温州做网站多少钱网站服务器机房
  • 网站公司设计 网站首页什么网站专门做图片
  • 书店网站怎么做网站点击快速排名
  • 太阳镜商城网站建设公司做网站
  • 如何制作个人作品网站宣传片拍摄合同
  • 关于微网站策划ppt怎么做做插画的网站
  • 做设计网上揽活哪个网站最好中企动力算大厂吗
  • 电子商务网站开发常用工具牡丹江吧
  • 四川成都网站制作公司wordpress 获取某个分类的文章
  • wordpress 编辑器推动门户网站建设不断优化升级
  • 做游戏网站的前景温江区建设局网站
  • 济南做微网站推广做网站seo优化总结
  • 巢湖网站建设电话长沙大型互联网公司