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

建设电子商务网站需要什么百度新闻头条

建设电子商务网站需要什么,百度新闻头条,wordpress 登陆失败,wordpress做学校网站目录 一、序列化和反序列化 二、为什么会出现反序列化漏洞 三、序列化和反序列化演示 <演示一> <演示二> <演示二> 四、漏洞出现演示 <演示一> <演示二> 四、ctfshow靶场真题实操 <真题一> <真题二> <真题三> &l…

目录

一、序列化和反序列化

二、为什么会出现反序列化漏洞

三、序列化和反序列化演示

<演示一>

<演示二>

<演示二>

四、漏洞出现演示

<演示一>

<演示二>

四、ctfshow靶场真题实操

<真题一>

<真题二>

<真题三>

<真题四>


一、序列化和反序列化

  • 序列化:对象转换为数组或字符串等格式

        serialize()              //将一个对象转换成一个字符串

  • 反序列化:将数组或字符串等格式转换成对象

        unserialize()          //将字符串还原成一个对象

  • 比如我们在传输类似这种内容的时候,内容里包括很多空格,传输起来容易发生错误,也比较浪费空间。

  • 因此就将其转换为了字符串或者数组的形式去发送,之后再进行反序列化就可以将原本的数据输出出来,这样可以使数据传输更加稳定,效率也更高。

二、为什么会出现反序列化漏洞

        在php里有时会存在一些魔术方法,可以控制优先执行什么或者初始化什么,但是如果魔术方法使用不当,就可能会造成反序列化漏洞。

        原理:未对用户输入的序列化字符串进行检测,导致攻击者可以控制反序列化过程,从而导致代码执行,SQL 注入,目录遍历等不可控后果。在反序列化的过程中自动触发了某些魔术方法。当进行反序列化的时候就有可能会触发对象中的一些魔术方法。
        魔术方法利用点分析:
触发:unserialize 函数的变量可控,文件中存在可利用的类,类中有魔术方法:
__construct():     //构造函数,当对象 new 的时候会自动调用
__destruct():    //析构函数当对象被销毁时会被自动调用
__wakeup():     //unserialize()时会被自动调用
__invoke():     //当尝试以调用函数的方法调用一个对象时,会被自动调用
__call():     //在对象上下文中调用不可访问的方法时触发
__callStatci():     //在静态上下文中调用不可访问的方法时触发
__get():     //用于从不可访问的属性读取数据
__set():     //用于将数据写入不可访问的属性
__isset():     //在不可访问的属性上调用 isset()或 empty()触发
__unset():     //在不可访问的属性上使用 unset()时触发
__toString():     //把类当作字符串使用时触发
__sleep():     //serialize()函数会检查类中是否存在一个魔术方法__sleep(),如果存在,该方法会被优先调用

三、序列化和反序列化演示

<演示一>

1.这里是一段经典的系列化和反序列化的代码。

2.先将后两行注释掉,仅让其输出$s,可以看到其内容如下。

3.下面是对其序列化的内容的解释。

4. 将代码修改成下面的样式。

5.将$u输出出来如下图所示。

6.完整的解释如下图所示。

        总结:就是一种典型的数据传输方法,可以更好的保证代码的正确性和完整性。

<演示二>

1.再来看一段代码。
魔术方法通常就是看其前面有没有两个下划线——“__”

2.我们首先将代码更改成下面的样式。

 3.此时访问可以可到下面的返回结果。

4.这里我们仅仅创建了一个对象,就将下面的两个函数给调用了,从而输出了对应的内容。

        总结:无需函数,创建对象就会调用魔术方法。 

<演示二>

1.再来看一段代码。

 2.执行结果如下图所示。

3.我们将代码更改为下面的样式。

 4.将上面序列化后的代码使用参数上传上去。

 5.网页返回下面的结果。 

6.在代码里我们没有进行创建,但是仍然返回的end,是因为我们上传了序列化的内容,此时默认就进行了调用。

7.将代码再次更改。

8.此时再次执行可以发现test()被触发出来了。

         总结:传递序列化字符串,就相当于默认实现获取对象里的数据,包括调用里面的函数,也就是说即使不去创建对象,也能够触发对象里的变量以及函数,触发过程就是按照魔术方法的触发逻辑,

四、漏洞出现演示

<演示一>

1.打开下面的代码。

2.创建一个对象,会先调用__construct,然后销毁调用__destruct。运行结果如下图所示。

3.更改代码然后执行,将序列化字符串输出出来然后复制。

4.将代码更改成下图样式。

5.将序列化的代码当作参数进行上传,之后可以看到页面内依然返回了ipconfig执行结果。相当于此时没有创建对象,只是输入了序列化字符串,就默认调用了__destruct代码。

<演示二>

1.打开下面的代码。

 2.此时访问后,会先执行__construct,显示“xiaodisec”,然后回执行__destruct,执行系统命令ipconfig。 

3.更改代码然后访问,来获取cc的序列化代码。

4.将代码更改为下面的样式来接收序列化的代码c。

5.将序列化代码c当作参数提交,此时执行了__destruct,没有执行__construct,因为我们这里皆有进行“new”操作。

6.此时我们可以想到更改参数c的内容来执行一些其它的命令,下面进行尝试。

7.将参数里的ipconfig更改为“var”,然后将前面的长度改为“3”,执行后可以得到下面的返回结果,成功执行了“var”命令。

        这里就是序列化漏洞的核心点,前面讲解的所有都是为这一步做准备!

        总结:在反序列化操作里,对象里设置好的一些变量也可以进行修改,这里就是将ipconfig修改成了ver。也就是说,有时只要创建对象,就会调用对象内的魔术方法;或者当类似于unserialize的这种函数出现时,即使没有创建对象,也可以通过控制输入的参数,去让它调用对象里的内容。

        这种漏洞一般出现在白盒里,在黑盒里要想发现几乎是不可能的,因为需要看到源代码对源代码的代码逻辑进行分析后才能分析到是否存在反序列化漏洞。

四、ctfshow靶场真题实操

        靶场地址:ctf.show

<真题一>

1.找到对应题目进入靶场。 

2.打开靶场。

3.进入靶场。

4.分析代码后得到下面的解题思路:

  • 首先触发vipOneKeyGetFlag。
  • 然后让$this->isVip为真即可。

5.继续分析代码:

  • 仅需让username='xxxxxx';password='xxxxxx'即可。 

 6.开始操作。

http://eaece883-4d1b-411b-989d-b09aae68b5df.challenge.ctf.show/?username=xxxxxx&password=xxxxxx

7.成功得到了flag。

<真题二>

1.找到对应题目进入靶场。 

 2.打开靶场。

3.进入靶场。

4.分析代码后可以想到进行下面的操作。

5.将POP链复制下来。

O%3A11%3A%22ctfShowUser%22%3A3%3A%7Bs%3A8%3A%22username%22%3Bs%3A6%3A%22xxxxxx%22%3Bs%3A8%3A%22password%22%3Bs%3A6%3A%22xxxxxx%22%3Bs%3A5%3A%22isVip%22%3Bb%3A1%3B%7D

6.打开Hack Firefox访问靶场链接。

7.使用burp抓包。

8.将抓到的数据包发送到Repeater。 

9.根据源代码可以知道它接收的是cookie里的user数据,并且会检测username和password因此对数据包进行下面的修改。

10.放包后可以看到成功获取到了flag。

<真题三>

1.找到对应题目进入靶场。 

 2.打开靶场。

 3.进入靶场。

4.分析代码后可以想到进行下面的操作。

 5.将POP链复制下来。

O%3A11%3A%22ctfShowUser%22%3A3%3A%7Bs%3A8%3A%22username%22%3Bs%3A1%3A%22x%22%3Bs%3A8%3A%22password%22%3Bs%3A1%3A%22y%22%3Bs%3A5%3A%22isVip%22%3Bb%3A1%3B%7D

6.打开Hack Firefox访问靶场链接。

7.使用burp抓包。

 8.将抓到的数据包发送到Repeater。 

9.根据源代码可以知道它接收的是cookie里的user数据,并且会检测username和password因此对数据包进行下面的修改,然后放包。

10.可以看到成功获取到了flag。

<真题四>

1.找到对应题目进入靶场。 

 2.打开靶场。

3.进入靶场。

4.这关里可以看到有多个class,因此我们就先要看哪个地方能获取到flag,但是我们并没有找到直接和flag相关的操作,但是我们在下面看到了函数eval。

        补充: eval()函数可以把字符串按照php代码来执行。

5.因为这里只可能eval会与flag相关,所以我们就判断谁会触发eval。

6.可以看到getInfo会触发eval,__destruct会触发getInfo,而__destruct触发时class='info',当将'info'修改成backDoor后就可以调用到eval函数了。

7.复制class代码到在线工具内,然后将无用的代码删除后修改,之后执行。 

O%3A11%3A%22ctfShouUser%22%3A1%3A%7Bs%3A18%3A%22%00ctfShouUser%00class%22%3BO%3A8%3A%22backDoor%22%3A1%3A%7Bs%3A14%3A%22%00backDoor%00code%22%3Bs%3A17%3A%22system%28%22cat+f%2A%22%29%3B%22%3B%7D%7D

8.打开Hack Firefox访问靶场链接。

9.使用burp抓包。

 10.将抓到的数据包发送到Repeater。  

9.对数据包进行下面的修改然后放包,可以得到flag。

10.成功获取到了flag。


文章转载自:
http://dinncoviking.ssfq.cn
http://dinncosurveyal.ssfq.cn
http://dinncoarchaise.ssfq.cn
http://dinncoamnestic.ssfq.cn
http://dinncowesterly.ssfq.cn
http://dinncochut.ssfq.cn
http://dinncoshowboat.ssfq.cn
http://dinncoorganiger.ssfq.cn
http://dinncoblaw.ssfq.cn
http://dinncofascia.ssfq.cn
http://dinncopreventable.ssfq.cn
http://dinncobacilli.ssfq.cn
http://dinncogetup.ssfq.cn
http://dinncoasciferous.ssfq.cn
http://dinncorhyton.ssfq.cn
http://dinncopiperonal.ssfq.cn
http://dinncoreune.ssfq.cn
http://dinncoclianthus.ssfq.cn
http://dinncocrude.ssfq.cn
http://dinncoserine.ssfq.cn
http://dinncotelomer.ssfq.cn
http://dinncogulliver.ssfq.cn
http://dinncopsychoanalyze.ssfq.cn
http://dinncosalespeople.ssfq.cn
http://dinncojillion.ssfq.cn
http://dinncoepizoon.ssfq.cn
http://dinncokava.ssfq.cn
http://dinncocompetent.ssfq.cn
http://dinncoflurr.ssfq.cn
http://dinncoarbalest.ssfq.cn
http://dinncoseptenate.ssfq.cn
http://dinncomatricidal.ssfq.cn
http://dinncodiptych.ssfq.cn
http://dinncofontanelle.ssfq.cn
http://dinncoailing.ssfq.cn
http://dinncohdcopy.ssfq.cn
http://dinncoattractively.ssfq.cn
http://dinncohousewifely.ssfq.cn
http://dinncointerpenetrate.ssfq.cn
http://dinncosuggestibility.ssfq.cn
http://dinncoembolismic.ssfq.cn
http://dinncofetus.ssfq.cn
http://dinncocarping.ssfq.cn
http://dinncocitify.ssfq.cn
http://dinncoabrade.ssfq.cn
http://dinncoslummock.ssfq.cn
http://dinncosalvationist.ssfq.cn
http://dinncohamper.ssfq.cn
http://dinncorye.ssfq.cn
http://dinncocoercivity.ssfq.cn
http://dinncoshare.ssfq.cn
http://dinncoossiferous.ssfq.cn
http://dinncojackey.ssfq.cn
http://dinncodiscriminatory.ssfq.cn
http://dinncothymectomy.ssfq.cn
http://dinncophosphorescence.ssfq.cn
http://dinncoindian.ssfq.cn
http://dinncoqube.ssfq.cn
http://dinncotrepang.ssfq.cn
http://dinncoholohedry.ssfq.cn
http://dinncogadhelic.ssfq.cn
http://dinncoorganism.ssfq.cn
http://dinncopekin.ssfq.cn
http://dinncoleatherwood.ssfq.cn
http://dinncorepressed.ssfq.cn
http://dinncoopiumize.ssfq.cn
http://dinncokennetic.ssfq.cn
http://dinncohypertension.ssfq.cn
http://dinncosectional.ssfq.cn
http://dinncohumus.ssfq.cn
http://dinncoborescope.ssfq.cn
http://dinncomeasured.ssfq.cn
http://dinncoguarded.ssfq.cn
http://dinncoinventec.ssfq.cn
http://dinncobaronetcy.ssfq.cn
http://dinncoreinsertion.ssfq.cn
http://dinncohypallage.ssfq.cn
http://dinncosquirrely.ssfq.cn
http://dinncolunatic.ssfq.cn
http://dinncogandhiist.ssfq.cn
http://dinncolimousine.ssfq.cn
http://dinnconorilsk.ssfq.cn
http://dinncocognitive.ssfq.cn
http://dinncocovenant.ssfq.cn
http://dinncoheliox.ssfq.cn
http://dinnconewsie.ssfq.cn
http://dinncodependence.ssfq.cn
http://dinncoscourer.ssfq.cn
http://dinncogangplow.ssfq.cn
http://dinnconewmown.ssfq.cn
http://dinncoallot.ssfq.cn
http://dinncocontraclockwise.ssfq.cn
http://dinncoaminophenol.ssfq.cn
http://dinncocountermine.ssfq.cn
http://dinncosonorization.ssfq.cn
http://dinncooarage.ssfq.cn
http://dinncovidual.ssfq.cn
http://dinnconorm.ssfq.cn
http://dinncocurbie.ssfq.cn
http://dinncoankylose.ssfq.cn
http://www.dinnco.com/news/152411.html

相关文章:

  • 怎么看网站是不是做竞价百度指数官网移动版
  • 刷东西网站怎么做线上运营推广方案
  • 买的虚拟主机怎么做网站it培训机构哪个好
  • 外贸soho建网站网络视频营销平台
  • 招聘网站如何做SEO南宁百度seo价格
  • 文章响应式网站哪些行业适合做网络推广
  • 怎么优化自己网站做网销的一天都在干嘛
  • 盐城网站开发公司电话在线crm
  • 本地合肥网站建设网站建设步骤流程详细介绍
  • 智能锁东莞网站建设百度账号设置
  • 软件开发培训去哪个机构seochinaz查询
  • 网站建设要经历哪些步骤关键词研究工具
  • 用c 做网站可以吗seo优化人员
  • 郑州做网站开发销售360免费建站官网
  • vi设计是什么设计seo常用方法
  • b2b 贸易网站网络推广的基本方法有哪些
  • 百度网站快速排名公司站长工具seo查询5g5g
  • 更新网站 是否要重启iissem营销
  • pc网站怎么适配移动端百度知道合伙人官网登录入口
  • 邯郸市住房和建设官方网站大片ppt免费下载安装
  • 网络策划主要做什么网站排名优化课程
  • e时代网站制作什么是seo搜索优化
  • wordpress 密码修改seo薪酬水平
  • 安徽静安集团网站建设品牌宣传如何做
  • 浙江平台网站建设公司域名
  • 做外贸生意用哪个网站西安seo关键词排名优化
  • 企业网站系统设计头条发布视频成功显示404
  • 网站后台功能需求文档海南网站制作公司
  • 网站积分系统方案泉州seo外包
  • 如何和其他网站做友情链接seo运营专员