您好,登錄后才能下訂單哦!
本篇文章為大家展示了怎樣淺析JS加密中的RSA與XXTEA,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
這次要研究的網站采用的是rsa加密以及xxtea。
這里先復習下上一篇講過的調試流程基礎版:
如果網頁有跳轉,必須勾選 preservelog 防止丟包
看一下有沒有框架 右鍵查看框架源代碼(彈出式登陸界面)
登陸盡量使用錯誤密碼 防止跳轉
查看關鍵登陸包 分析哪些參數是加密的
使用別的瀏覽器分析哪些參數是固定的值
初步猜測加密方法
搜索
直接搜索參數
pwd=
pwd =
pwd:
pwd :
密碼框地方右鍵 檢查 查看 id name type
找到加密的地方(重點)
調試
找出所有的加密代碼
從最后一步開始寫起,缺啥找啥
如果找的是函數的話 search 要帶上 function xxx
如果看到加密的地方有個類,并且之后是用 prototype 把方法加在原生對象上的話,要把
所有加在原生對象上的方法都找出來
函數找多了沒關系,只要不報錯不會影響結果,但是不能找少了
以上就是上篇文章調試的核心流程,接下來我們繼續用實戰案例練習一下。
先看下要解析的加密參數,記住流程的前幾點:
接下來搜索參數,分析可能存在加密代碼的js文件:
嘗試了上面流程里面列舉的可能的參數名,并沒有發現有用的信息,所以試了下直接搜索password
關鍵字,找到一個可能和登陸相關的文件,搜索發現疑似的加密代碼:
先測試打個斷點試試:
成功進入斷點接下來,就是缺啥找啥補齊就可以了,強烈建議大家下載一個webstorm
,方便調試。
我們先把代碼里面的值填寫一下,運行看看報錯是什么:
根據報錯我們找找這里的RSAKey在哪里,不知道如何查找可以將鼠標懸停在對應位置即可根據提示找到對應的代碼。
反復操作即可,缺啥找啥直至js文件無報錯即可。
咸魚找了一些簡單網站,查看了對應的RSA加密的方法,總結了以下套路:
一般的rsa加密通常會先聲明一個rsa對象
本地使用公鑰加密即public key
通常有Encrypt關鍵字
加密后字符長度為128位或256位
結合以上套路可以幫助我們快速判斷加密方式如何,便于我們理清解密思路。
“微型加密算法(TEA)及其相關變種(XTEA,Block TEA,XXTEA)都是分組加密算法,它們很容易被描述,實現也很簡單(典型的幾行代碼)。
XXTEA是其最新的變種,于1998年提出。目前還沒有人找到對其進行攻擊的方法,是對前面一些變種的改進。XXTEA 算法很安全,而且非常快速,非常適合應用于 Web 開發中。
以上引用自https://my.oschina.net/mickelfeng/blog/109388
介紹完 XXTEA 我們先看看加密案例網站是什么樣子的:
可以看到傳輸的參數都是加密后的密文,像這類加密我們可以參考提交表單中的id,class等,查看密碼框的id后,全局搜索pass
:
找到疑似代碼的位置,不確定可以打上斷點測試一下,通過斷點發確認加密位置:
接下來就是缺啥補啥的過程,經過解密發現這個網站加密過程是一個xxtea.base64的加密。
上述內容就是怎樣淺析JS加密中的RSA與XXTEA,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。