分享實用、有趣的教程、VPS評測......
在請求頭裏面有這麽個參數,嘗試逆向。看到如下代碼,找到了h和x,代碼類型為 webpack我盡力了,雖然沒有報錯,但是輸出不了結果,如下是代碼,有解決方案可以在下面評論var encryption_obj; var window = global; !function(e){ t = {}; function n(r) { var i = t[r]; if (void 0 !== i) return i.exports; var a = t[r] = { id: r, loaded: !1, exports: {} }; console.log(r) return e[r].call(a.exports, a, a.exports, n), a.loaded = !0, a.exports } n.o = function(e,
逆向一個登錄包,這個參數從網站頁面就可以獲取,但是不是主頁面,而是打開那個login頁面后重新更新的内容,主頁面字段太長了,大概覆蓋整個頁面,而打開login頁面后刷新的字段卻很短,在這裏踩坑了(把主頁面的字段放到請求體裏面了)后經過python可以輕易獲取數據,我換了另一個工具卻不行,嘗試請求頭相同,也不行,經過對比請求體,發現 python自動把 "/" 這個符號轉變爲url編碼 %2F,而我另一個工具獲取到的内容則是 "/",因爲這個差異,導致請求失敗。然後把另一個工具獲取到的數據通過url編碼,就可以正常請求了。花了我蠻長時間的,他媽的。
一直用的racknerd傢的,雖然硬盤只有15G,時不時崩(博客打不開),後來我的寶塔面板甚至都打不開了,重啓了幾遍,端口也開放了,後來衝動重裝了,現在想來應該先備份/www/wwwroot/目錄下的文件,還有sql,寶塔面板和這幾個應該不會牽連,雖然我有設置谷歌硬盤插件自動備份,數據庫是沒問題的,但是web文件在雲盤沒找到備份,只找到8月份的,導致圖片丟失。不過幸好我最近更新的博文少,所以重新上傳了圖片。我現在換成官方的aapanel面板了。遇到這種問題的解決思路:想辦法恢復面板 >> 然後備份本地/www/wwwroot下的文件 >> 備份數據庫 >> 重裝因爲我更換了域名,導致之前的typecho 圖片丟失,直接在VPS上面運行以下代碼即可:UPDATE `typecho_contents` SET `text` = REPLACE(`text`,'旧网址','新网址')然後是縮略圖鏈接更改:UPDATE typecho_fields SET str_value = REPLACE(str_value, 'https://blog.xueli.
測試過了如果沒有這個參數或者這個參數錯誤,就會訪問失敗,看似是uuid,但是網站隨機生成的不可用。然後斷點,搜索關鍵詞,不停的斷點和刷新網頁繼續跟,在uc這裏繼續跟找到了,以下是代碼: const Dr = []; for (let t = 0; t < 256; ++t) Dr.push((t + 256).toString(16).slice(1)); function SD(t, e=0) { return Dr[t[e + 0]] + Dr[t[e + 1]] + Dr[t[e + 2]] + Dr[t[e + 3]] + "-" + Dr[t[e + 4]] + Dr[t[e + 5]] + "-" + Dr[t[e + 6]] + Dr[t[e + 7]] + "-" + Dr[t[e + 8]] + Dr[t[e + 9]] + "-" + Dr[t[e + 10]] + Dr[t[e + 11]] + Dr[t[e + 12]] + Dr[t[e + 13]] + Dr
這裏看到參數只有一個需要解密然後下斷點,找到這個位置,Object(c.b)(data.password, "AmrGowGCtUwd/2PgTyrJuV==")進入 Object(c.b)可以看到是一個通用庫加密方式,找到在綫網站,輸入密鑰 AmrGowGCtUwd/2PgTyrJuV== 測試分析 Object(c.b) 對應的函數函數功能根據提供的函數定義,可以得出以下結論:功能: 這個函式 r 主要用於 加密 資料。加密方式: 使用的是 TripleDES 加密算法,以 ECB 模式進行加密,並採用 PKCS7 填充。輸入參數:e: 需要加密的原始資料(明文)。t: 加密使用的密鑰,以 UTF-8 格式解析。輸出結果:返回加密後的密文,以字符串形式表示。函數解析引入加密庫: 函數中使用了 o 物件,這個物件很可能是引入的加密庫(例如 CryptoJS)的一個命名空間,提供了加密相關的函數和常量。密鑰解析: o.enc.Utf8.parse(t) 這部分將傳入的密鑰 t 從 UTF-8 字符串轉換為加密庫可以使用的內部表示形式。加密操作: o.TripleDES.encrypt(
熟悉的感覺,是GDDDDD!!!Youtube Link
下单: https://just.hosting/?ref=190337https://justhost.asia/?ref=187286月付1折优惠码:VPSONE90季付/半年付没这么大优惠力度,不推荐购买指南这家计费系统比较神奇,这里说下怎么买比较便宜。先给账户充点钱(一两美元就够),然后选VPS计划下单,地点选俄罗斯-莫斯科。最便宜 0.28美元/月 1核/1G/20G NVMe/300Mbps@不限流量https://just.hosting/zh/services/vps/tariffs/sirius?promocode=VPSONE90&software=centos9&location=dataline&ipv4_count=1&ipv6_count=0&svc_count=1&payment_months=1&cpu_options=none&plan=sirius性价比高 2C/4G 0.78美元/月https://just.hosting/zh/services/vps/tariffs/vega?promocode=&software=centos9&locati
原域名不用了,現更換為 yariaa.lol本博客地址:blog.yariaa.lol
看登陸包,驗證碼先不管,可以看到加密參數只有password。找到位置,斷點,可以發現調用的是 E.fM 來加密明文數據。往上面翻就找到了E的位置,s(802123)斷點並刷新網頁,去尋找分發器,跳轉到了o的位置,那麽o就是分發器。文件全部複製,新建一個js文件來測試。外部定義一個變量來接收 o ,并在o裏面打印調試信息找到 802123: 發現裏面調用的太多了,乾脆全部複製,添加到我們的調試函數裏面。我們只要内容,外邊的就去掉粘貼到 e 裏面運行發現報錯,找到那一行,注釋掉就可以了,我也不清楚這這行代碼有什麽用。繼續調試,面板輸出的模塊名,從網頁裏面搜了再補充就好了。最後看看效果:全部代碼
查看登錄包,ts明顯是時間戳,通過斷點可以知道password是經過md5加密,所以把焦點放到sign上面。看到了h的内容,其中後面的key是固定的找到d函數斷點,跳轉到這裏,可以看到這符合 webpack格式經過測試 e 為傳進去的明文數據,n 則是未定義,我們往上面找 t 賦值函數,t 再跳轉到 n 對n那裏斷點,刷新頁面,就找到了解釋器的位置複製全部的内容,然後在後面添加執行函數,同時在函數結束前聲明一個變量接收看下面就是加密解析成功了全部代碼:var encryption_obj; var window = global; (function(t) { function e(e) { for (var i, a, r = e[0], c = e[1], u = e[2], p = 0, l = []; p < r.length; p++) a = r[p], Object.prototype.hasOwnProperty.call(n, a) && n[a] && l
RSA 加密詳解什麼是 RSA 加密?RSA 是一種非對稱加密演算法,廣泛應用於資訊安全領域,尤其是網路通訊。它的名稱來自於三位發明者 Rivest、Shamir 和 Adleman 的姓氏首字母。RSA 的工作原理非對稱加密: RSA 使用一對密鑰:公鑰和私鑰。公鑰可以公開分發,而私鑰必須嚴格保密。加密與解密:加密: 使用公鑰對明文進行加密,得到密文。解密: 使用私鑰對密文進行解密,恢復出原始的明文。數學基礎: RSA 的安全性基於大整數分解問題的難解性。也就是說,要從公鑰中推算出私鑰在計算上是不可行的。RSA 的關鍵組成模數 (modulus): 是一個大整數,用於模運算。公鑰指數 (public exponent): 一個小於模數的整數,用於公鑰加密。私鑰指數 (private exponent): 一個大整數,用於私鑰解密。公鑰: 由模數和公鑰指數組成。私鑰: 由模數和私鑰指數組成。RSA 的加密過程生成密鑰對: 選擇兩個大素數 p 和 q,計算模數 n = p * q,再根據歐拉函數計算出其他參數,生成公鑰和私鑰。加密: 使用公鑰對明文進行模冪運算,得到密文。解密: 使用私鑰
從登陸包可以看到用戶名和密碼的加密方法為同一個繼續搜尋相關參數,找到如下代碼,即通過 encryptByAES 函數加密。提取出來以後,可以看到結果和登陸包的請求内容是一樣的相關js代碼:function encryptByAES(message, key) { let CBCOptions = { iv: CryptoJS.enc.Utf8.parse(key), mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }; let aeskey = CryptoJS.enc.Utf8.parse(key); let secretData = CryptoJS.enc.Utf8.parse(message); let encrypted = CryptoJS.AES.encrypt( secretData, aeskey, CBCOptions ); return CryptoJS.e
觀察登錄包,貌似只有sign加密了,是連同輸入的密碼一起加密的,timestamp很明顯是時間戳看上去是層層相扣,要找到sign的參數,就要找到 cr 的值,要找到 cr 的值,就要找到 we 的值不管了,直接全部扣下來,他媽的, var Qe = { exports: {} }; (function(t) { (function() { var e = "input is invalid type" , n = "finalize already called" , o = typeof window == "object" , r = o ? window : {}; r.JS_MD5_NO_WINDOW && (o = !1); var a = !o && typeof self =
Xboard面板漏洞,可导致所有用户uuid泄漏,目前已有多家机场被大规模扫描。起因是Xboard开发者只核验了提交的token是否正确,却没判断是否为空,导致没token的时候反而绕过了校验导致订阅可被未授权遍历。此漏洞可导致用户订阅信息泄漏,预计泄漏后将导致市面出现大批免费节点。另外据传Xboard还存在SQL注入漏洞。修復方法:文件位置:/app/Http/Middleware/Server.php方法1(推荐更优雅):见图红色部分,添加图片红色部分到代码中。方法2(不推荐不优雅):加到中间件内:加到$request->validate(前)$token = $request->input('token'); if (empty($token)) { throw new ApiException('token is null',403); }參考地址aapanel + docker compose| 1panel | docker compose 更新命令docker compose pull docker compose run -it --rm xboar
感興趣的可以聯係我的TG,能夠一起研究和測試,爲的就是一起進步。