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

如何做适合网站大小的图片手机网站 生成

如何做适合网站大小的图片,手机网站 生成,东莞大型网站建设哪家好,手机管理网站反序列化底层学习 前言 以前也是懒得学#xff0c;觉得没有必要#xff0c;学到现在发现好多东西都需要学习java的底层#xff0c;而且很多漏洞都是通过反序列化底层挖出来的#xff0c;比如weblogic的一些绕过#xff0c;我这里也主要是为了学习weblogic来学习的#…反序列化底层学习 前言 以前也是懒得学觉得没有必要学到现在发现好多东西都需要学习java的底层而且很多漏洞都是通过反序列化底层挖出来的比如weblogic的一些绕过我这里也主要是为了学习weblogic来学习的所以一些细节不关注 DEMO import java.io.*; public class Main {public static class Demo implements Serializable {transient String name;public Demo(String name) {this.name name;}public static void main(String[] args) throws IOException, ClassNotFoundException {Demo demo new Demo(nn0nkey);ObjectOutputStream outputStream new ObjectOutputStream(new FileOutputStream(panda.out));outputStream.writeObject(demo);outputStream.close();ObjectInputStream inputStream new ObjectInputStream(new FileInputStream(panda.out));inputStream.readObject();}} }反序列化分析 一般我们就知道反序列化会调用readobject方法现在就好好分析一下readobject干了啥 首先判断是不是重载类型的如果不是调用Object obj readObject0(false);去恢复对象 readObject0方法会对不同的类型进行不同的处理我这里是object类型的 readOrdinaryObject(unshared)我们继续看看是怎么处理的 内部调用ObjectStreamClass desc readClassDesc(false);去读取我们的序列化流的描述信息跟进 可以看到也是按照不同的类型去处理有null引用类型代理类型class类型 我们进入到class类型 return readNonProxyDesc(unshared); 先进行一个检查是不是class类型然后实例化一个desc对象desc的信息是通过readClassDescriptor读取的 跟进readClassDescriptor 跟进readNonProxy 这个方法是真正意义上的操作 系统会先从字节流中读取类名信息name in.readUTF();其次从字节流中读取serialVersionUID的信息然后再从字节流中读取各种SC_*标记信息通过该标记信息设置对应的成员属性最后从字节流中读取每一个字段的信息这些字段信息包括TypeCode、fieldName、fieldType 这里对应的方法是在序列化时使用的writeNonProxy方法在writeNonProxy中写入的TypeCode、fieldName、fieldType在这里被读取。 然后回到我们的readNonProxyDesc封装好我的信息之后使用resolveClass(readDesc)处理为class resolveClass就是使用class.forname去加载 然后调用initNonProxy处理读取到的信息初始化 最后返回desc对象 回到readOrdinaryObject方法 关键在 做了一个判断desc.isExternalizable如果序列化的接口是Externalizable类型就进入readExternalData否则进入readSerialData 如果我们的demo对象接口类型是Serializable所以进入了readSerialData方法 readSerialData方法中用了反射进行调用反序列化对象的readObject方法 然后回到readSerialData会反射调用readResolve方法 总结 那么多read方法我们总结一下 readobject:单纯的入口点 readobject0:可以说是我们的readobject方法的具体逻辑点会跟进不同的字节流选择不同的方法去处理 readOrdinaryObject:用来处理我们的object对象类型的它用于调用序列化类中readObject、readResolve、readExternal的方法会有一些选择 readClassDesc 分发用于处理字节流中TC_CLASSDESC的方法用switch来选择需要处理的方法 readNonProxyDesc 真正用来处理字节流中的TC_CLASSDESC方法会调用resolveClass进行创建反序列化的对象 resolveClass是用Class.forName来创建对象的地方在这里可以做一个检查校验用于反序列化拦截。 readNonProxy真正读取我们描述信息的方法 参考 https://www.cnblogs.com/yyhuni/p/15127416.html https://www.cnblogs.com/yyhuni/p/15127416.html eadNonProxy真正读取我们描述信息的方法 参考 https://www.cnblogs.com/yyhuni/p/15127416.html https://www.cnblogs.com/yyhuni/p/15127416.html https://www.cnblogs.com/yyhuni/p/15127416.html
http://www.hkea.cn/news/14367731/

相关文章:

  • 做拍卖网站怎么样网站建设需要精通什么知识
  • 江北网站建设什么是域名
  • 视频分享网站开发玉林网站建设培训
  • 乡镇网站个人做可以不网站添加搜索
  • 深圳网站建设那家好怎么建com的网站
  • 做全房订制网站公司企业网站建设的步骤
  • 购物02网站网站如何建设与安全管理制度
  • 鹿泉外贸网站建设换服务器后网站首页不收录
  • 万州房地产网站建设怎样做网站卖自己的产品教程
  • 如何建设网站效果好app联盟推广平台
  • 长沙网站公司哪家好建设工程合同的性质是
  • 什么是网站框架结构广州 关于进一步优化
  • wordpress设置网站关键字苏州公司网站设计
  • 青海西宁学做网站在哪餐饮vi设计公司
  • 国内做的比较大的外贸电商网站网站模版
  • 企业建设网站公司简介wordpress导航站模版
  • 别墅效果图网站京东网站设计代码
  • 赣榆区城乡建设局网站北京网站整站优化
  • 计算科学与学习网站建设与实施wordpress 目录扫描
  • 天水嘉通建设集团网站网站Api接口怎么做
  • 网站分几种类型wordpress不显示模板
  • 广东建设教育协会网站首页百度查重
  • ajax 翻页 wordpress西宁网站优化
  • 上海网站建设乐云seowordpress集成插件下载
  • 哪个网站适合 做红本抵押wordpress适合做什么网站吗
  • 网站飘窗建设合同相亲网站怎么做的
  • 网站的架构与建设北京网站建站公
  • 个人网站域名所有权网站开发技术合作协议书
  • 石家庄云图网站建设网站定制开发怎么做
  • 网站如何做百度权重wordpress 修改版本号