知識點:
1、安全開發-NodeJS-開發環境&功能實現
2、安全開發-NodeJS-安全漏洞&案例分析
3、安全開發-NodeJS-特有漏洞
node.js
就是專門運行javascript
的一個應用程序,區別于以往用瀏覽器解析原生js
代碼,node.js
本身就可以解析執行js
代碼,并且效率更高更快。
演示案例-WEB開發-NodeJS-安裝&語法&模塊&安全&原型鏈污染
環境搭建-NodeJS-解析安裝&庫安裝
0、文檔參考:
https://www.runoob.com/nodejs/nodejs-tutorial.html
1、Nodejs安裝
https://nodejs.org/en
2、三方庫安裝(用node.js啟用一個網站)
安裝命令:
npm install express
npm install body-parser
npm install cookie-parser
npm install multer
npm install mysqlexpress
Express是一個簡潔而靈活的node.js Web應用框架body-parser
node.js中間件,用于處理 JSON, Raw, Text和URL編碼的數據。cookie-parser
這就是一個解析Cookie的工具。通過req.cookies可以取到傳過來的cookie,并把它們轉成對象。multer
node.js中間件,用于處理 enctype="multipart/form-data"(設置表單的MIME編碼)的表單數據。mysql
Node.js來連接MySQL專用庫,并對數據庫進行操作。
功能實現-文件操作&目錄遍歷&文件讀取
0、文件操作
1、Express開發(起一個網站接口)
2、加入傳參接受
返回值
請求值
3、實現文件讀取/目錄遍歷
任意文件讀取
目錄遍歷
功能實現-鏈接數據庫&SQL注入
0、mysql數據庫操作
1、Express開發
2、SQL注入
功能實現-命令執行(RCE)
1、eval
2、exec & spawnSync
原型鏈污染
如果攻擊者控制并修改了一個對象的原型,(__proto__)
那么將可以影響所有和這個對象來自同一個類、父祖類的對象。CTF方向
參考:https://f1veseven.github.io/2022/04/03/ctf-nodejs-zhi-yi-xie-xiao-zhi-shi/
NodeJS安全
1、SQL注入&文件操作
2、RCE執行&原型鏈污染
2、NodeJS黑盒無代碼分析
實戰測試NodeJS安全
判斷:參考前期的信息收集
黑盒:通過對各種功能和參數進行payload測試
白盒:通過對代碼中寫法安全進行審計分析