1. 前言最近有点闲下来了,不找点事干比较难受,打算找点漏洞分析一下,于是就打算看看TP的一些漏洞,ThinkPHP6.0.13是TP的最新版,八月份有师傅提交了一个issue指出TP存在反序列化问题,网上也有些师傅分析了一波,不过断点下的比较多,而且部分方法没有阐明其用途,所以我也尝试详细的分析一波。下面先给出POC2. 分析首先看看POC的起始点发现起始点在Psr6Cache这个类,我们进入这个类,不过没有发现__destruct或者__wakeup等常见的反序列化起始魔术方法,推测应该在其父类AbstractCache这个抽象类中。跟入AbstractCache类如图,成功发现本次反序列
1. 前言最近有点闲下来了,不找点事干比较难受,打算找点漏洞分析一下,于是就打算看看TP的一些漏洞,ThinkPHP6.0.13是TP的最新版,八月份有师傅提交了一个issue指出TP存在反序列化问题,网上也有些师傅分析了一波,不过断点下的比较多,而且部分方法没有阐明其用途,所以我也尝试详细的分析一波。下面先给出POC2. 分析首先看看POC的起始点发现起始点在Psr6Cache这个类,我们进入这个类,不过没有发现__destruct或者__wakeup等常见的反序列化起始魔术方法,推测应该在其父类AbstractCache这个抽象类中。跟入AbstractCache类如图,成功发现本次反序列
目录1概述2细节2.1新方法-layer.getData()2.2弃用方法-map.forEachLayerAtPixel()1概述6.13版本带来了一些新特性:对于每个图层对象,你可以使用layer.getData()方法来获取它的像素数据类ol/style/Text支持了富文本标签,可以在一个标签中用不同的字体、样式了模块ol/proj中,useGeographic()和setUserProjection()方法现在已经是官方API了,这两个方法使得地理坐标或局部投影坐标系的使用更简单改进提升了WebGL瓦片和点图层改善了ol/Feature的性能,当其没有回调时避免事件的创建升级geot
目录1概述2细节2.1新方法-layer.getData()2.2弃用方法-map.forEachLayerAtPixel()1概述6.13版本带来了一些新特性:对于每个图层对象,你可以使用layer.getData()方法来获取它的像素数据类ol/style/Text支持了富文本标签,可以在一个标签中用不同的字体、样式了模块ol/proj中,useGeographic()和setUserProjection()方法现在已经是官方API了,这两个方法使得地理坐标或局部投影坐标系的使用更简单改进提升了WebGL瓦片和点图层改善了ol/Feature的性能,当其没有回调时避免事件的创建升级geot
创建项目创建一个App项目:XKFrameworkApp创建一个Framework项目:XKTestFramework创建一个.xcworkspace文件,名字与App项目名字相同:XKFrameworkApp.xcworkspace将XKFrameworkApp.xcworkspace文件和Framework项目文件夹(XKTestFramework)一起放入App项目XKFrameworkApp文件夹内打开XKFrameworkApp.xcworkspace文件,将两个工程文件(XKFrameworkApp.xcodeproj,XKTestFramework.xcodeproj)拖入到项目
创建项目创建一个App项目:XKFrameworkApp创建一个Framework项目:XKTestFramework创建一个.xcworkspace文件,名字与App项目名字相同:XKFrameworkApp.xcworkspace将XKFrameworkApp.xcworkspace文件和Framework项目文件夹(XKTestFramework)一起放入App项目XKFrameworkApp文件夹内打开XKFrameworkApp.xcworkspace文件,将两个工程文件(XKFrameworkApp.xcodeproj,XKTestFramework.xcodeproj)拖入到项目
力扣13罗马数字转为整数题目:罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符数值I1V5X10L50C100D500M1000例如,罗马数字2写做II,即为两个并列的1。12写做XII,即为X+II。27写做XXVII,即为XX+V+II。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如4不写做IIII,而是IV。数字1在数字5的左边,所表示的数等于大数5减小数1得到的数值4。同样地,数字9表示为IX。这个特殊的规则只适用于以下六种情况:I可以放在V(5)和X(10)的左边,来表示4和9。X可以放在L(50)和C(100)的左边,来表示40和90。C可以放在D(5
力扣13罗马数字转为整数题目:罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符数值I1V5X10L50C100D500M1000例如,罗马数字2写做II,即为两个并列的1。12写做XII,即为X+II。27写做XXVII,即为XX+V+II。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如4不写做IIII,而是IV。数字1在数字5的左边,所表示的数等于大数5减小数1得到的数值4。同样地,数字9表示为IX。这个特殊的规则只适用于以下六种情况:I可以放在V(5)和X(10)的左边,来表示4和9。X可以放在L(50)和C(100)的左边,来表示40和90。C可以放在D(5
摘要:在未来,云上交付模式会逐步从Serverful为主转向Serverless为主。本文分享自华为云社区《DTSETechTalk第13期:Serverless凭什么被誉为未来云计算范式?》,作者:华为云社区精选。DTSETechTalk(华为云开发者联盟推出的技术公开课)解读云上前沿技术,畅聊开发应用实践。专家团队授课,答疑解惑,助力开发者使用华为云开放能力进行应用构建、技术创新。在本期《Serverless凭什么被誉为未来云计算范式?》的主题直播中,华为云PaaSDTSE技术布道师石敏和郑州迅课教育科技有限公司总经理张棪,与开发者和伙伴朋友们交流当前Serverless最新趋势,结合最佳
摘要:在未来,云上交付模式会逐步从Serverful为主转向Serverless为主。本文分享自华为云社区《DTSETechTalk第13期:Serverless凭什么被誉为未来云计算范式?》,作者:华为云社区精选。DTSETechTalk(华为云开发者联盟推出的技术公开课)解读云上前沿技术,畅聊开发应用实践。专家团队授课,答疑解惑,助力开发者使用华为云开放能力进行应用构建、技术创新。在本期《Serverless凭什么被誉为未来云计算范式?》的主题直播中,华为云PaaSDTSE技术布道师石敏和郑州迅课教育科技有限公司总经理张棪,与开发者和伙伴朋友们交流当前Serverless最新趋势,结合最佳