国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

實例解析Java反射,你會了嗎?

安全 數(shù)據(jù)安全
java的反射是指在運行狀態(tài)中,對于任意一個類都能夠知道這個類所有的屬性和方法,并且對于任意一個對象。

反射是大多數(shù)語言里都必不不可少的組成部分,對象可以通過反射獲取他的類,類可以通過反射拿到所有方法(包括私有),拿到的方法可以調(diào)用,總之通過“反射”,我們可以將Java這種靜態(tài)語言附加上動態(tài)特性。

什么是反射

java的反射是指在運行狀態(tài)中,對于任意一個類都能夠知道這個類所有的屬性和方法,并且對于任意一個對象。

基本形式

public void execute(String className, String methodName) throws Exception {
Class clazz = Class.forName(className);
clazz.getMethod(methodName).invoke(clazz.newInstance());
}

上面的例子中,我演示了幾個在反射里極為重要的方法:獲取類的方法: forName實例例化類對象的方法: newInstance獲取函數(shù)的方法: getMethod執(zhí)行函數(shù)的方法: invoke。

反射的作用:

讓Java具有動態(tài)性,修改已有對象的屬性,動態(tài)生成對象,動態(tài)調(diào)用方法,操作內(nèi)部類和私有方法。

在反序列化漏洞中的應(yīng)用

定制需要的對象,通過invoke調(diào)用除了同名函數(shù)以外的函數(shù),通過class類創(chuàng)建對象,引入不能序列化的類。

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的動態(tài)類加載方式。

this.getClass().getClassLoader().loadClass("Person");

從原型class里面實例化對象

利用構(gòu)造函數(shù)實例化。

Constructor constructor = c.getConstructor(String.class,int.class);
Person p1 = (Person) constructor.newInstance("abc",22);

我們來逐行寫一下分析:

Constructor constructor = c.getConstructor(String.class,int.class);
這一行是為了獲取原型類中重載的構(gòu)造方法
public Person(String name, int age) {
this.name = name;
this.age = age;
}

對構(gòu)造方法進行傳參實例化一個對象
Person p1 = (Person) constructor.newInstance("abc",22);
我們可以打印一下p1看一下返回結(jié)果

img

獲取類里面的屬性

private String name;
public int age;

public

Field ageField = c.getField("age");
ageField.set(p1,11);

img

private

Field nameField = c.getDeclaredField("name");
nameField.setAccessible(true);
nameField.set(p1,"xinyuan");

img

獲取類方法

Method actmethod = c.getMethod("act",String.class);
actmethod.invoke(p1,"SKyMirror");

getMethod 與上面的獲取構(gòu)造函數(shù)類似,第一個參數(shù)是函數(shù)名,第二個是傳參的類型。

invoke方法第一個傳入對象,第二個是傳入?yún)?shù)值。

img

利用URLDNS(反射)

這條鏈子算是反射的一個簡單應(yīng)用。

利用點

URL這個類重寫了hashCode方法,導(dǎo)致在執(zhí)行hashCode的時候,此利用點不能命令執(zhí)行,但是會請求DNS,所以被用來驗證是否存在反序列化漏洞。

源碼如下:

img

img

可以看到當(dāng)我們調(diào)用一次hashCode方法,他會對傳進去的URL對象發(fā)起請求,即我們?nèi)绻NSLOG申請一個地址,根據(jù)訪問來判斷是否成功執(zhí)行了hashCode方法進而判斷是否執(zhí)行了反序列化的操作。

URL這個類實現(xiàn)了java.io.Serializable,可以進行序列化的操作。

img

因此,在這里我們可以驗證一下我們上面的想法。

img

img

鏈子

這個鏈子也比較短,比較簡單,主要是利用HashMap來執(zhí)行hashCode方法。

HashMap實現(xiàn)了Serializable可以序列化,此處注意反序列化時HashMap的readObject方法。

img

我們跟進一下hash方法:

img

key參數(shù)可控,key又是由反序列化的時候生成的。在HashMap中用put傳入一個URL的對象,即可在反序列化的時候調(diào)用到此方法,從而觸發(fā)整個鏈子。

有一點需要注意,我們在序列化的時候,進行的put傳參會修改掉傳入的URL對象的hashCode的值,因為hashCode值不等于-1,從而導(dǎo)致無法正常觸發(fā)下面的方法,即無法觸發(fā)DNS請求。

img

同時在正常put傳參的時候會執(zhí)行一次DNS請求,所以我們在put傳參之前修改hashCode的值(不為-1就行),傳參之后修改hashCode為-1,在反序列化的時候就可以正常執(zhí)行了。

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);

hashMap.put(u,123);
//修改URL對象的hashCode值為-1
hashcodeField.set(u,-1);
serialize(hashMap);
}

責(zé)任編輯:武曉燕 來源: FreeBuf.COM
相關(guān)推薦

2024-01-18 09:38:00

Java注解JDK5

2023-06-26 13:08:52

GraphQL服務(wù)數(shù)據(jù)

2022-08-29 08:05:44

Go類型JSON

2024-11-08 08:56:01

2023-12-27 07:31:45

json產(chǎn)品場景

2024-10-11 09:15:33

2024-02-05 13:52:30

?Thread對象強引用

2025-01-02 10:02:44

2024-01-19 08:25:38

死鎖Java通信

2024-10-09 07:40:43

2022-12-22 08:14:54

2024-09-06 07:29:05

2022-05-06 08:26:32

JavaSPI機制

2025-01-14 08:32:55

JWT令牌.NET

2024-04-01 08:29:09

Git核心實例

2024-07-31 08:26:47

2024-10-21 07:05:14

C#特性語言

2022-04-01 08:23:17

InputstreString字符串

2023-01-10 08:43:15

定義DDD架構(gòu)

2023-07-26 13:11:21

ChatGPT平臺工具
點贊
收藏

51CTO技術(shù)棧公眾號

成人永久看片免费视频天堂| 久久久久国内| 宅男在线国产精品| 97se在线视频| 欧美美女在线直播| 国产精品福利小视频| 好男人社区在线视频| 久久久久久97三级| 精品精品导航| 国产在线视频欧美| 裸体在线国模精品偷拍| 老司机午夜激情| 亚洲精品久久久久久久久| 影音先锋日韩精品| 国产精彩视频一区二区| 欧美顶级少妇做爰| 荡女精品导航| 免费毛片一区二区三区久久久| 久久精品国产99| 黄色片一级视频| 欧美日韩亚洲高清| 黑人巨大精品| 另类美女黄大片| 色88888久久久久久影院| 久久理论片午夜琪琪电影网| 国产成年精品| 国内伊人久久久久久网站视频| 国产在线播放一区| 国产精品三级在线| 久草中文在线| 午夜精品久久久久久久久久久久| 美女一区二区久久| 国产情人节一区| 国产乱人伦偷精品视频不卡| 日韩欧美在线一区二区| 91传媒视频在线播放| 午夜欧美视频| 国产剧情在线| 一区二区三区|亚洲午夜| 伊人狠狠色j香婷婷综合| 精品电影在线| 国产精品嫩草影院久久久| 成人av电影在线| 偷拍自拍在线| 7777免费精品视频| 成人一级片网址| 夜级特黄日本大片_在线 | 国模精品娜娜一二三区| 国产精品网站导航| 欧美成人三区| 国产一区二区欧美日韩| 日本在线一区二区三区| 青青草成人免费在线视频| 欧美一区二区三区喷汁尤物| 91香蕉视频污版| 国产精品手机在线播放| 日韩精品视频久久| 欧美一区二区三区爱爱| 日韩精品欧美| 免费一级大片| av免费观看久久| 91国偷自产一区二区三区观看 | 麻豆精品国产传媒mv男同| av在线免费观看网站| 成人影片在线播放| 日本电影亚洲天堂一区| 欧美成人亚洲| 超碰超碰在线| 一卡二卡3卡四卡高清精品视频| 欧美不卡一区二区三区四区| 国产一区在线观看麻豆| 97caopron在线视频| 综合操久久久| 丝袜情趣国产精品| 97se亚洲国产综合在线| 精品五月天堂| av在线日韩国产精品| 真人做人试看60分钟免费| 亚洲天堂av网| 久久久久久久精| 国内精品久久久久久久久电影网| 日韩av免费观影| 蜜桃久久精品乱码一区二区| 亚洲国产欧美一区二区丝袜黑人 | 成人性生交大片免费| 亚洲精品18| 黄页视频在线播放| www.av毛片| 91免费福利视频| 亚洲欧美中文另类| 亚洲欧美在线视频| 亚洲三级电影在线观看| 福利一区二区三区视频在线观看 | 亚洲午夜精品17c| 一本久久综合| 中文字幕伦av一区二区邻居| 好看的中文字幕在线播放| 久久精品网站视频| 91亚色免费| 午夜精品一区二区三区在线播放| 欧美精品一卡两卡| 国产欧美日韩精品在线| 国产精品亚洲产品| 牛牛影视久久网| 毛片免费看不卡网站| 日本大臀精品| 日韩av资源在线| 无码免费一区二区三区免费播放| 国产精品久久99久久| 欧美一级高清免费播放| 久久精品国产亚洲精品2020| 欧美一级日韩不卡播放免费| 欧美性猛交xxxx乱大交蜜桃| 午夜在线电影亚洲一区| 中文字幕中文字幕一区二区 | 四虎永久在线精品无码视频| 中文字幕中文字幕99| 色狠狠久久av五月综合| 欧美高清视频一区| 国产91精品一区二区绿帽| 91日韩在线播放| 亚洲综合精品一区二区| 国产色婷婷国产综合在线理论片a| 久久久久久久久久久免费| 久久99热这里只有精品国产| 久久中文字幕在线视频| www.欧美精品| 欧美人与性动交a欧美精品| 久久亚洲影音av资源网| 色狠狠久久aa北条麻妃| 久久影院中文字幕| 欧美国产乱视频| 日韩视频欧美视频| 欧美成人中文字幕| **欧美日韩vr在线| 奇米四色中文综合久久| 国产精品日韩在线| 国产精品一区二区免费| 艳母动漫在线免费观看| 欧美日韩黄色一级片| 丝袜制服一区二区三区| 国产美女视频黄a视频免费| 在线香蕉视频| 91女主播在线观看| 欧美裸体视频| 卡通动漫精品一区二区三区| 日韩一区电影| 日日夜夜精品视频天天综合网| 国产黄人亚洲片| 亚洲精品视频在线| 精品国产百合女同互慰| 久久99亚洲热视| 精品免费日产一区一区三区免费| 在线观看17c| 在线视频福利| 99视频这里有精品| 99精品视频免费全部在线| 99riav久久精品riav| 日韩一区二区免费视频| 97超视频免费观看| 异国色恋浪漫潭| 亚洲欧洲闷骚av少妇影院| 日本99精品| 日韩成人免费电影| 午夜精品123| 久久久久女教师免费一区| 日韩电影在线播放| 欧美成人影院在线播放| 日韩精选视频| 麻豆一区二区三| 欧洲人成人精品| 国产成人综合精品| 久久精品中文字幕一区二区三区| 污污网址在线观看| 婷婷亚洲综合| 91黄视频在线观看| 国产精品久久久久久久免费大片 | 久久久久99精品国产片| 色吧影院999| 乱妇乱女熟妇熟女网站| 亚洲欧美电影| 成人aa视频在线观看| 中文字幕日韩在线视频| 国产91在线视频观看| 国产免费av国片精品草莓男男| 久久久久久久综合日本| 欧美人与物videos| av成人网在线| 欧美一级精品片在线看| 日韩欧美国产激情| 日本午夜精品一区二区| 伊人久久国产| 国产日韩欧美在线一区| 欧美又大又粗又长| 久草在线青青草| 狠狠色综合色综合网络| 久久影院在线观看| 成人高潮成人免费观看| 国产精品白浆| 青椒成人免费视频|