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

北京注册公司多少钱做网站建设优化的公司排名

北京注册公司多少钱,做网站建设优化的公司排名,沧州专业网站建设公司,微信公众号发布wordpress文章目录 1、序列化与反序列化1.1、引入1.2、序列化实例1.2.1、定义一个类1.2.2、创建 对象1.2.3、反序列化1.2.4、对象注入 2、漏洞何在2.1、漏洞触发2.1.2、定义一个类2.1.3、定义一个对象2.1.3、反序列化执行代码 2.2 为什么会这样 3、反序列化漏洞攻防3.1、PHP反序列化实例… 文章目录 1、序列化与反序列化1.1、引入1.2、序列化实例1.2.1、定义一个类1.2.2、创建 对象1.2.3、反序列化1.2.4、对象注入 2、漏洞何在2.1、漏洞触发2.1.2、定义一个类2.1.3、定义一个对象2.1.3、反序列化执行代码 2.2 为什么会这样 3、反序列化漏洞攻防3.1、PHP反序列化实例3.2、Java反序列化实例3.3、反序列化漏洞防御 为什么要序列化 序列化“将对象的状态信息转换为可以存储或传输的形式的过程”这种形式⼤多为字节流、字符串、json 串。在序列化期间内将对象当前状态写⼊到临时或永久性的存储区。以后就可以通过从存储区中读取或还原反序列化对象的状态重新创建该对象。简单的说序列化就是把⼀个对象变成可以传输的字符串可以以特定的格式在进程之间跨平台安全的进⾏通信。 1、序列化与反序列化 以PHP 语⾔为例 1.1、引入 JSON 数据是数据的⼀种表达形式与Python ⾥的字典类似 ?php // json.php $stu array(name JayChou,age 18,sex true,score 89.9 ); // echo $stu; // var_dump($stu); $stu_json json_encode($stu); echo $stu_json; echo hr /; $stu_json isset($_GET[stu])?$_GET[stu]:$stu_json; $stu json_decode($stu_json); var_dump($stu); ?验证 ?stu{name:jaychou,age:19,sex:true,score:89.9}1.2、序列化实例 1.2.1、定义一个类 ?php// stu.class.phpclass Stu{public $name;public $age;public $sex;public $score;} ?1.2.2、创建 对象 创建⼀个对象并对该对象进⾏序列化操作将对象转化为可以存储、传输的字符串 ?php //serialize.php include ./stu.class.php;$stu1 new Stu();$stu1-name JayChou; #$stu1.name $stu1-age 18; $stu1-sex true; $stu1-score 68.99;//echo $stu1; 报错 // var_dump($stu1)$_stu1 serialize($stu1); echo $_stu1; ?序列化后的字符串 O:3:Stu:4:{s:4:name;s:7:JayChou;s:3:age;i:18;s:3:sex;b:1;s:5:score;d:68.989999999999995;} 1.2.3、反序列化 将字符串转化为对象 ?php// unserialize.phpinclude ./stu.class.php;$stu1_ser O:3:Stu:4:{s:4:name;s:7:JayChou;s:3:age;i:18;s:3:sex;b:1;s:5:score;d:68.989999999999995;} ;$stu1_obj unserialize($stu1_ser);var_dump($stu1_obj); ? 1.2.4、对象注入 如果反序列化字符串Web ⽤⼾可以控制则造成对象注⼊。 ?php// unserialize.phpinclude ./stu.class.php;// $stu1_ser O:3:Stu:4:{s:4:name;s:7:JayChou;s:3:age;i:18;s:3:sex;b:1;s:5:score;d:68.989999999999995;} ;$stu1_ser $_GET[obj]; #动态传参$stu1_obj unserialize($stu1_ser);var_dump($stu1_obj); ?PHP 的反序列化漏洞也叫PHP 对象注⼊是⼀个⾮常常⻅的漏洞这种漏洞在某些场景下虽然有些难以利⽤但是⼀旦利⽤成功就会造成⾮常危险的后果 2、漏洞何在 2.1、漏洞触发 2.1.2、定义一个类 ?php // vul.class.phpclass Vul{public $str JayChou;function __destruct(){eval($this - str);} } ?2.1.3、定义一个对象 ?php // test.php include ./vul.class.php;$s new Vul(); echo serialize($s); echo hr /;$_s isset($_GET[s_ser])?$_GET[s_ser]:O:3:Vul:1:{s:3:str;s:7:JayChou;};$s unserialize($_s); var_dump($s); ?序列化后 O:3:Vul:1:{s:3:str;s:7:JayChou;}反序列化后 object(Vul)#2 (1) { [str] string(7) JayChou } 2.1.3、反序列化执行代码 ?s_serO:3:Vul:1:{s:3:str;s:10:phpinfo();;}2.2 为什么会这样 __destruct()会被对象⾃动调⽤。 以__开头的函数是PHP 中的魔术⽅法。类中的魔术⽅法在特定情况下会⾃动调⽤。即使魔术⽅法在类中没有被定义也是真实存在的 魔术方法触发条件__construct()在创建对象时⾃动调⽤构造函数__destruct()在销毁对象时⾃动调⽤析构函数 __call(); __callStatic(); __get(); __set(); __isset(); __unset(); __sleep(); __wakeup(); 创建对象之前触发。 __toString(); __invoke(); __set_state(); __clone(); __debuginfo();漏洞形成的根本原因就是程序没有对⽤⼾输⼊的反序列化字符串进⾏检测导致反序列化过程可以被恶意控制进而造成代码执⾏、GetShell 等⼀系列不可控的后果。反序列化漏洞并不是PHP 特有的也存在于Java、Python 语⾔中其原理基本相同 3、反序列化漏洞攻防 3.1、PHP反序列化实例 博客跳转 3.2、Java反序列化实例 Weblogic 10.3.6 ‘wls-wsat’ XMLDecoder 反序列化漏洞CVE-2017-10271S2-045 Remote Code Execution VulnerablityCVE-2017-5638JBoss 5.x/6.x 反序列化漏洞CVE-2017-12149fastjson 1.2.24 反序列化导致任意命令执行漏洞Fastjson 1.2.47 远程命令执行漏洞Apache Shiro 1.2.4反序列化漏洞CVE-2016-4437 3.3、反序列化漏洞防御 升级组件到最新版本⿊⽩名单过滤敏感字符禁⽤反序列化功能部署安全设备
http://www.eeditor.cn/news/126516/

相关文章:

  • 找人做网站定金不退wordpress 显示相册
  • 深圳市官方网站wordpress顶部广告
  • 珠海h5模板建站wordpress 知更鸟 公告
  • 网站建设 中企动力西安建站长沙
  • 抚顺做网站的公司美橙互联网站建设好不好
  • 宁波网站设计公司做qq动图的网站
  • c2c网站是什么php 学院网站
  • 郑州高端定制网站信阳百度推广
  • 网站模版网wordpress任务
  • 班级网站建设需求成都软件开发工资一般多少钱
  • 唐山网站建设拓做网站是域名怎么申请
  • 做杂志的模板下载网站有哪些陕西的网站建设公司
  • 台州网站制作自建营销型企业网站
  • 山东外贸网站建设简单动画制作软件
  • 网站建设名词解释与简答题温州网站关键词排名优化
  • 网站建设论文参考文献企业注册资本
  • 建筑八大员证报考网站设计网页代码流程
  • 广东网站建设有限公司建网站设计
  • 东莞哪家做网站梵克雅宝为什么那么贵
  • 网站做充值和提现毕业设计查资料的网站
  • 秦皇岛建设路小学网站开发公司工程部主管岗位职责及工作内容
  • 苏州网络推广公司网站建设分销怎么做网站开发分销
  • 如何制作网站专题公司网站要什么做
  • 企业网站名是什么意思展馆设计图
  • 怎么做卡盟网站深圳网页设计培训班价格
  • 做网站网站彩票算犯法吗济南住房和城乡建设厅网站
  • 上海专业网站建设 公司wordpress 首页修改
  • 网站的登录注册页面怎么做点击图片是网站怎么做
  • 我公司网站开发技术优势企业小型网站要多少钱
  • 济宁城乡住房建设网站久久建筑网资料全吗