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

国外html5网站模版贵州高端建设网站

国外html5网站模版,贵州高端建设网站,wordpress注册中文,枸橼酸西地那非片的作用及功效一,php面向对象。 1.面向对象: 以“对象”伪中心的编程思想,把要解决的问题分解成对象,简单理解为套用模版,注重结果。 2.面向过程: 以“整体事件”为中心的编程思想,把解决问题的步骤分析出…

一,php面向对象。

1.面向对象:

以“对象”伪中心的编程思想,把要解决的问题分解成对象,简单理解为套用模版,注重结果。

2.面向过程:

以“整体事件”为中心的编程思想,把解决问题的步骤分析出来,用函数依次实现,注重过程。

3.类:

将数据和数据上的操作封装在一起

内部构成:成员变量(属性)+成员函数(方法)

注:属性在外部是不可以直接看到的,但是可以访问。

(1)创建一个类

其中var的作用是声明变量

$this为预定义

(2)new

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传参,使得代码触发构析函数,构析函数再执行eval,eval触发代码。

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的值为a,order没有值,就返回NULL。

五.pop链的构造思路知识——构造代码写poc代码

六.反序列化逃逸

七.session反序列化漏洞

八.phar反序列化

九,题目示例

[SWPUCTF 2021 新生赛]ez_unserialize

1.打开题目,只有一张动图,源码里也没有什么

2.用御剑扫一下,依次访问,在robot.txt中找到一个c145s.php

3.再次访问,出现真正的题目,是一串代码,意思是满足admin=admin&passwd=ctf,触发__destruct()函数,就可以得到flag

http://www.yayakq.cn/news/847655/

相关文章:

  • 帮别人建设网站宿迁网站建设流程
  • 昆明参差网站杭州房产网信息网官网
  • 德州金航网络公司网站建设美图秀秀网页版在线制作
  • 英语培训网站建设2008 iis7添加网站
  • 楚雄市住房和城乡建设局门户网站专题网站建设解决方案
  • centos 7.2 做网站私企建筑公司排名
  • 天津市工程建设交易服务中心网站招聘网站怎么做推广
  • 检察院加强网站建设电子商务网站建设市场分析
  • 网站搭建心得哪家建设网站
  • 中国住房与城乡建设厅网站群辉 搭建wordpress
  • 安龙网站建设php网站开发演讲稿
  • 自己做的网站外网访问河南住房建设厅网站
  • 成都网站推广 优帮云苏宁易购
  • 黑白高端大气网站设计工作室织梦dedecms模板wordpress数据库连接时错误
  • wordpress申请网站吗网站开发有哪些课程
  • 营销网站试用手机网站 排版
  • 公益网站建设方案宁夏住房和建设厅官方网站
  • 丰都网站建设报价张家港网站设计优化
  • 网站建设的市场定位的方案网站打开慢的原因
  • 零基础考二建有多难seo优化方法网站快速排名推广渠道
  • 基于node网站毕设代做网站的权限设置
  • 赣州市铁路建设办公室网站珠海响应式网站建设费用
  • 上海网站建设 分类广告app设计开发
  • 甘肃网站定制开发企业网站设计有名 乐云seo
  • 静态展示网站模板360商城官网
  • 巩义做网站汉狮公司WordPress取消强密码
  • 重庆网站建设就找承越网站的结构类型
  • 创建网站要多长时间昆山做企业网站
  • 国际网站设计怎么部署wordpress
  • 做怎样的网站能赚钱吗济源网站优化