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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【技术学习】一次Node.js站点渗透

發布時間:2025/3/21 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【技术学习】一次Node.js站点渗透 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

遇到一個站,后端是Node.js寫的,對于這種類型的站點,一般比較難getshell,但也實現了最終的目標,拿到后臺權限

信息搜集

先進行常規的信息搜集,子域名掃描、端口掃描、目錄掃描等

這個站后端腳本語言是Node.js

目錄探測發現404界面也極像Node.js的404頁面,后面重點關注js文件

突破接口

點擊查看【相關技術學習文檔】

在進行目錄掃描的時候,發現了一個有用的目錄:

前面說了,重點關注js文件,查看頁面源代碼,發現一個有趣的js文件,為什么說這個文件有趣呢?因為這個js的文件名和產品名一致

進去之后發現了新世界

這個網站的前端界面都是通過在js文件里document.write函數構造

頁面動態渲染的數據是通過js函數中ajax請求獲取

$ . ajax ({url : host + "/agent/getPlayerInfo" ,type : "post" ,dataType : 'json' ,headers : { "content-type" : "application/json" },data : JSON . stringify ({ "uid" : uid })}). done ( function ( data ){console . log ( data );

核心的所有功能接口都是未授權訪問的,根據不同的js文件里的ajax請求,使用postman直接構造數據包,即可實現后臺相對應的功能

登陸后臺

通過上述接口,可以通過用戶的uid獲取用戶的用戶名,將所有的用戶名作為字典,放入burp爆破弱口令

分析后臺登陸包,密碼被加密了

在js中找到加密方式,截取的是16位的md5

根據js代碼里的if邏輯可以很清楚的看到:返回包code值為101100是密碼錯誤,200就是登陸成功,

成功爆破出多個用戶存在弱口令

密碼錯誤:

密碼正確:

進入管理員后臺

利用爆破的用戶登陸后臺,發現不是管理員權限

但是繼續閱讀js代碼,發現存在如下的代碼:登陸成功后data.code == 200,再根據返回包的agentClass值,可以控制顯示的是管理員界面還是客服界面還是一級、二級用戶界面。由于是前端判斷且通過document.write函數渲染界面,因此可以前端繞過,直接修改返回包中的agentClass值為管理員的值,就可以進入到管理員界面,且后端所有接口也都如上面一樣不存在鑒權,因此管理員的后臺所有功能都可以使用
agentClass=1時:

agentClass=2-4時:

那么只要修改返回包的agentClass=1即可

成功進入管理員后臺

總結

以上是生活随笔為你收集整理的【技术学习】一次Node.js站点渗透的全部內容,希望文章能夠幫你解決所遇到的問題。

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