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

頻頻闖禍的JNDI,到底是個(gè)什么垃圾玩意兒?

開(kāi)發(fā) 后端
每次規(guī)模比較大的漏洞,JNDI好像都不會(huì)缺席。最近人盡皆知的Log4j2漏洞也和它有關(guān),讓人不由得懷疑,是不是作者開(kāi)的后門(mén)。

每次規(guī)模比較大的漏洞,JNDI好像都不會(huì)缺席。最近人盡皆知的Log4j2漏洞也和它有關(guān),讓人不由得懷疑,是不是作者開(kāi)的后門(mén)。

因?yàn)镴NDI這個(gè)玩意,別說(shuō)用過(guò),很多人連聽(tīng)都沒(méi)聽(tīng)說(shuō)過(guò)。這么冷門(mén)酸爽的東西,有什么理由把它放在一個(gè)日志框架里呢?恐怕只有作者想得通。

數(shù)據(jù)庫(kù)驅(qū)動(dòng)

很多人接觸JNDI,是從數(shù)據(jù)庫(kù)的驅(qū)動(dòng)開(kāi)始的。當(dāng)然,隨著SpringBoot單體發(fā)布模式的流行,現(xiàn)在用這種方式來(lái)獲取數(shù)據(jù)庫(kù)配置的古董公司,是越來(lái)越少了。

比如,我們可以在tomcat的server.xml里,配置一個(gè)叫做xjjdogDB的資源。

  1. <Resource name="jdbc/xjjdogDB" auth="Container" type="javax.sql.DataSource" 
  2. maxTotal="100" maxIdle="30" maxWaitMillis="10000" 
  3. username="xjjdog" password="123456" driverClassName="com.mysql.jdbc.Driver" 
  4. url="jdbc:mysql://localhost:3306/xjjdog_db"/> 

那么,我們只需要在SpringBoot中配置上JNDI這個(gè)名字,它就能加載正確的配置。前提是我們需要把SpringBoot服務(wù)打包成WAR包發(fā)布。像JBoss這樣的宣稱企業(yè)級(jí)服務(wù)器的軟件,就喜歡這么干。

  1. spring: 
  2.   datasource: 
  3.  jndi-name: jdbc/xjjdogDB 

從這里,我們可以看出。JNDI到底是個(gè)神馬玩意呢?你可以認(rèn)為它是一個(gè)配置中心,也可以認(rèn)為它是一個(gè)命名服務(wù)。其根本功能,就是讓你可以通過(guò)一個(gè)簡(jiǎn)短的字符串,就能獲取一系列的復(fù)雜配置和初始化后的功能。

這樣,我們就可以避免將這些配置直接寫(xiě)在項(xiàng)目里。程序啟動(dòng)起來(lái),到底加載的什么東西,要看運(yùn)行的環(huán)境配置的什么東西。

具體實(shí)現(xiàn)的話,不就是一個(gè)可以根據(jù)key獲取value的HashMap嘛。

危險(xiǎn)由此而來(lái)

關(guān)鍵是這個(gè)value,它不是String,它是一個(gè)Object。要從字符串變身為一個(gè)正常的類,還要做到通用,那就不得不依靠反射。

這張圖是Oracle官方的一張關(guān)于JNDI的介紹。上面的都不是關(guān)鍵,關(guān)鍵的地方在于,JNDI通過(guò)SPI機(jī)制,可以和LDAP、RMI等各種技術(shù),產(chǎn)生聯(lián)動(dòng)。

任何為了追求方便而不遵守常規(guī)的便捷通道,都會(huì)產(chǎn)生問(wèn)題。SPI是為數(shù)不多的打破Java類加載機(jī)制的技術(shù),和Unsafe類一樣,強(qiáng)大但并不那么推薦使用。

如上圖,就是NamingManager類里面的方法getObjectFactoryFromReference。當(dāng)它從本地加載相應(yīng)類的時(shí)候,如果加載不到,它干了一件不該干但又不得不干的事情,那就是從網(wǎng)絡(luò)上的代碼里面構(gòu)造相應(yīng)的對(duì)象!

這下,在炫肌肉的同時(shí),可完?duì)僮恿?。如上圖,我們只需要在8000端口啟動(dòng)一個(gè)nginx?;蛘咧苯邮褂胮ython啟動(dòng)一個(gè)小小的web服務(wù)器。

  1. python -m http.server 8000 

能夠發(fā)起外網(wǎng)請(qǐng)求的服務(wù)器,將會(huì)乖乖的自動(dòng)從我們指定的服務(wù)器上撈下非法的class文件進(jìn)行加載。

制作這些攻擊性的playload也非常容易,有marshalsec這樣的工具,可以很方便的生成。

根據(jù)java的類加載機(jī)制,在static代碼塊里面,就可以干一些實(shí)際的代碼執(zhí)行邏輯。我們只需要把編譯后的a.class放在該放的地方,JNDI這玩意就能夠加載它。

  1. public class a { 
  2.     static { 
  3.         try { 
  4.             String[] cmd = {"calc.exe"}; 
  5.    java.lang.Runtime.getRuntime().exec(cmd).waitFor(); 
  6.         } catch ( Exception e ) { 
  7.             e.printStackTrace(); 
  8.         } 
  9.     } 

上面的代碼將會(huì)在你部署的服務(wù)器上啟動(dòng)一個(gè)calc計(jì)算器。當(dāng)然,它還可以干更多事情。

END

從上面可以看出,Java的反射很強(qiáng)大,但是也很危險(xiǎn)。SPI功能繼承了這個(gè)特性,勇猛的暴露了它的弱點(diǎn)。我覺(jué)得功能很好啊,但它為什么要存在于日志框架呢?

這可能是因?yàn)榫戆伞.吘挂粋€(gè)日志框架,也是要有元宇宙的夢(mèng)想的!

責(zé)任編輯:趙寧寧 來(lái)源: 小姐姐味道
相關(guān)推薦

2010-06-28 15:58:45

EclipseJavaIDE

2010-06-29 13:39:26

Eclipse什么玩意兒

2010-07-05 15:56:01

EclipseRCPECF

2010-07-02 10:10:09

Eclipse

2011-11-21 10:25:29

iCloud

2012-02-13 15:50:59

2018-05-04 15:57:42

AI智慧谷歌

2021-03-22 07:45:05

Sentinel微服務(wù)開(kāi)源的項(xiàng)目

2022-07-08 15:13:21

DockerLinux命令

2019-10-25 09:50:03

網(wǎng)絡(luò)爬蟲(chóng)蜘蛛Wi-Fi

2018-01-26 08:54:29

存儲(chǔ)SSDHDD

2021-07-29 06:56:36

分布式系統(tǒng)腦裂

2024-05-29 08:56:31

2022-03-14 17:56:15

云廠商系統(tǒng)阿里云

2021-05-17 18:27:20

Token驗(yàn)證HTTP

2022-05-10 09:16:50

MQ內(nèi)存消費(fèi)者

2022-02-07 09:40:10

高可用高并發(fā)高性能

2021-07-14 18:21:50

負(fù)載均衡TCP網(wǎng)關(guān)

2020-10-29 07:03:56

Docker容器存儲(chǔ)

2021-01-29 12:24:22

電腦電子計(jì)算機(jī)
點(diǎn)贊
收藏

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

午夜久久久精品| 欧美精品一区二区三区三州| 日韩av网站在线| 影音先锋欧美精品| 少妇精品放荡导航| 高清不卡在线观看av| 六月婷婷久久| 伊人久久亚洲美女图片| 欧美一区二区视频97| 欧美日韩国产一区二区在线观看| 国产精品自拍av| 精品一区二区三区自拍图片区| 精品72久久久久中文字幕| 久久久久www| av成人在线播放| 亚洲一二在线观看| 少妇淫片在线影院| 亚洲国产欧美久久| 日本孕妇大胆孕交无码| 欧美日韩精品高清| 成人影视在线播放| 欧美美女一区二区三区| 香蕉视频国产在线观看| 欧美在线一二三四区| 国产在线一二三区| 在线成人h网| 超碰在线97av| 在线精品一区| 日韩电影免费观看高清完整| 91大神福利视频在线| 欧美大香线蕉线伊人久久| 日韩精品一二区| 国产欧美日韩伦理| 成人在线免费公开观看视频| 欧美日韩精品在线视频| 午夜影院免费播放| 黄色成人av网| 9色在线视频| 精品久久久久香蕉网| 午夜欧美巨大性欧美巨大| 欧美精品免费播放| 国产欧美日韩| www.一区二区三区| 99999精品视频| 亚洲欧洲日韩女同| 四虎在线观看| 日韩欧美中文字幕一区| 日本电影欧美片| 91av国产在线| 夜久久久久久| 国产手机免费视频| 国产精品美女久久福利网站| 在线观看午夜看亚太视频| 777久久久精品| 精品免费av在线| 国产97在线播放| 毛片在线播放网站| 欧美三级午夜理伦三级中视频| 在线中文字幕观看| 日韩欧美高清dvd碟片| 久久精品黄色| 国产精品久久一区主播| 99精品国产在热久久| 伊人网在线免费| 一区二区三区四区在线| 国产盗摄一区二区| 国模吧一区二区| 校园春色综合网| 奇米影音第四色| 精品久久久久久综合日本欧美| 亚洲一区二区三区四区电影 | 国产伦精品一区二区三区千人斩| 九九热久久66| 日本一区二区不卡视频| 东凛在线观看| 日韩中文字幕不卡视频| а天堂8中文最新版在线官网| 国产一区二区三区直播精品电影| 国产精品日日摸夜夜添夜夜av| 蜜桃导航-精品导航| 国产高清一区二区三区视频| 欧美日韩不卡合集视频| 亚洲男人都懂的| 久久中文字幕av| 蜜臀av国内免费精品久久久夜夜| 超碰成人在线免费观看| 久久久久久久久久国产精品| jizz一区二区| 精品视频www| 亚洲天堂电影| 中文字幕一区二区三区乱码| 国产精品视频分类| 日本精品久久久久久久| 日韩亚洲欧美在线| 丁香激情综合五月| 亚洲免费二区| 国产精品**亚洲精品| 日本在线免费网| 丁香资源影视免费观看| 中文字幕成人一区| 97免费高清电视剧观看| 大胆欧美人体视频| 欧美一卡在线观看| 亚洲一区在线播放| 国产成人在线电影| 国产精品丝袜xxxxxxx| 同性恋视频一区| 精品国产免费人成网站| 亚洲va电影大全| 色哟哟亚洲精品一区二区| 亚洲一区成人| 欧美精品一二| 亚洲不卡在线| 国产欧美日韩小视频| 亚洲精品欧美极品| 欧美日韩亚洲综合| 久久国产欧美日韩精品| 色网站免费在线观看| 国产精品亚洲二区在线观看| 久久综合国产精品台湾中文娱乐网| 99精品欧美一区二区蜜桃免费 | 亚洲国产裸拍裸体视频在线观看乱了中文 | 高清视频在线观看三级| 国产精品久久久久久久久久久久午夜片| 中文字幕在线不卡一区| 综合欧美亚洲| av无码精品一区二区三区| 原创国产精品91| 国产99久久久久| 成人精品国产亚洲| 亚洲自偷自拍熟女另类| 久久中国妇女中文字幕| 91免费视频观看| 日韩成人久久| 激情小说激情视频| 国产精品99久久久久久www| 亚洲主播在线观看| 亚洲欧美综合久久久| 三级在线观看| 久久九九视频| 亚洲精品99久久久久| 国产在线乱码一区二区三区| 澳门av一区二区三区| 日韩在线xxx| 国产91在线播放| 日本丶国产丶欧美色综合| 免费在线欧美黄色| 二区三区不卡| 啊啊啊国产视频| 中文字幕一区二区在线观看| 精品中文在线| 4虎在线播放1区| 成人免费直播live| 精品一区二区三区免费毛片爱| 黄页网站在线观看免费| 只有这里有精品| 在线视频1区2区| 亚洲wwww| 国产精品区一区| 日韩一区二区电影网| 国产主播一区二区三区| 日韩精品一区二区三区中文| 嫩模私拍啪啪| 国产精品一区二区av| 欧美草草影院在线视频| 成人激情免费电影网址| 亚洲欧美tv| 麻豆tv入口在线看| av免费看网址| 欧美巨大黑人极品精男| 1769国内精品视频在线播放| 久久国产精品亚洲| 久久精品国产一区| 亚洲人成在线观看| 国产91在线高潮白浆在线观看| 4438全国亚洲精品在线观看视频| 亚洲天堂精品在线| 亚洲一区二区国产| 国产精品激情av在线播放| 99久久久精品免费观看国产| 亚洲不卡一卡2卡三卡4卡5卡精品| 视频一区二区三区在线观看| 国产精品久久久久高潮| 日本成人三级| 尤物av无码色av无码| 最近最新中文字幕在线| 黄色软件视频在线观看| 午夜精品视频一区二区三区在线看| 精品久久久噜噜噜噜久久图片| 日本a视频在线观看| 成人网在线免费观看| 精品伦理一区二区三区| 日韩视频一二三| 中文av在线播放| 在线观看免费网站| 芒果视频成人app| 亚洲日本视频在线| 亚洲人www| 毛片无码国产| 又黄又爽无遮挡|