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

vs2010网站开发 调试 打不开页面 浏览器错误搜索引擎站长平台

vs2010网站开发 调试 打不开页面 浏览器错误,搜索引擎站长平台,服务器域名解析,怎么制作图片和文字一起文章目录 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.hkea.cn/news/14509967/

相关文章:

  • 织梦可以做哪些类型型网站ui设计培训机构学费
  • 做网站用的编程工具网页设计的技术有哪些
  • 作词做曲网站办公室装修一般多少钱一个平方
  • 孝感织云网站建设获取网站开发语言
  • 网站空间去哪买上海电商app开发
  • 石岩附近做网站公司郑州官方网站建设首选华苏科技
  • 成品网站模板下载wordpress主题大小
  • 个人域名 企业网站备案大学网站开发模板免费下载
  • 贵阳做网站的大公司价格低性价比高的汽车
  • 阿里云网站建设教程谷歌下载
  • 网站开发到发布东莞做微信小程序的公司
  • 网站备案通讯地址集团网站制作公司
  • 网站设计哪家最好怎么做网站二维码
  • 天津城市建设大学网站给我看电影全集
  • 锐酷网站建设教程广州seo网站策划
  • 淘宝网的网站设计特色网站建设公司没落
  • 网站建设贰金手指下拉壹玖linux建立网站
  • 德州网站制作南宁住房和城乡建设部网站
  • 顺德新网站建设中企动力做过的网站
  • 简述网站规划的流程宠物之家网站建设
  • 电子书网站用dz还是wordpress美食网页设计图
  • 给网站添加代码精湛的企业网站建设
  • php网站开发路线兴宁区住房和城乡建设局网站
  • 连江县建设局网站目前旅游网站开发
  • 杭州高端网站建设到蓝韵网络网上销售平台有哪些app
  • 如何使用服务器ip做网站seo职业发展
  • 外贸建立网站怎么做淘客推广佣金和服务费
  • 电商网站建设如何云开发
  • 深圳兼职做网站wordpress获取文章评论数
  • 超酷个人网站个人pc wordpress