點(diǎn)擊上方“Python爬蟲(chóng)與數(shù)據(jù)挖掘”,進(jìn)行關(guān)注回復(fù)“書(shū)籍”即可獲贈(zèng)Python從入門(mén)到進(jìn)階共10本電子書(shū)
網(wǎng)址:
aHR0cHM6Ly93ZW5zaHUuY291cnQuZ292LmNuL3dlYnNpdGUvd2Vuc2h1LzE4MTAxMENBUkhTNUJTM0MvaW5kZXguaHRtbD9vcGVuPWxvZ2lu手機(jī)號(hào)密碼隨便輸,點(diǎn)擊登陸此時(shí)form data 中可以獲取到 username、password、appDomain、wenshu.court.gov.cn這四個(gè)信息,老規(guī)矩先全局搜一波1.?jquery相關(guān),跳過(guò)3.?Login.js,點(diǎn)擊文件進(jìn)入(因?yàn)槭堑顷懀钥?/span>login)繼續(xù)搜,現(xiàn)在有8處,在return處全部打上斷點(diǎn)(其實(shí)就是45行)參數(shù)已經(jīng)提示了出來(lái),很明顯加密就在此處但是但是但是,直接搜到?jīng)]有任何幫助,跟棧才是需要訓(xùn)練的基本功所以我們接下來(lái)按照跟棧的常規(guī)套路走一下還是這個(gè)鏈接,進(jìn)入initiator面板查看堆棧信息,一眼可見(jiàn)submit和add所以直接進(jìn)send、再格式化代碼、打上斷點(diǎn)、點(diǎn)擊登陸在send函數(shù)處 a.data里面有我們需要的密文,那么a是哪里來(lái)的,a是上面?zhèn)鬟M(jìn)來(lái)的根據(jù)瀏覽器默認(rèn)提示,data依然是傳入的,繼續(xù)往上跟
在這個(gè)位置上已經(jīng)處于提交請(qǐng)求前,也沒(méi)有密文是被傳入的,大概率就是明文加密的關(guān)鍵行而且這段代碼位置沒(méi)有return這個(gè)字鑒于作用域問(wèn)題,在var n處重新下斷并點(diǎn)擊登陸現(xiàn)在作用域就被斷在了submit處,在post(519行)前,就是需要注意的跟進(jìn)o.exec進(jìn)行查看,return處下斷繼續(xù)跟進(jìn)return 處的 a函數(shù)進(jìn)行查看跟進(jìn)來(lái)之后,這個(gè)a函數(shù)發(fā)現(xiàn)無(wú)法跟進(jìn),其實(shí)還是作用域問(wèn)題,那么第8行下斷就可以跟進(jìn)去了剛才還提示第7行,現(xiàn)在變成了17行,繼續(xù)跟進(jìn)去(參數(shù)提示是username,需要再斷一下變成password)這樣就好了,而且也提示第39行了,繼續(xù)跟進(jìn)因?yàn)楝F(xiàn)在混淆代碼越來(lái)越多,轉(zhuǎn)碼器使用的人也越來(lái)越多,代碼不可讀是常態(tài),這種情況下經(jīng)常搜不到,定位不到關(guān)鍵加密代碼,跟棧就是唯一的基本功接下來(lái)i.createObj 和i.encodePassword分別查看就是返回一個(gè)對(duì)象,對(duì)象中的password就是密碼加密看見(jiàn)n.setPublicKey(t),不用說(shuō)var n = new JSEncrypt,肯定new的是RSA算法那當(dāng)然就是RSA了,接下來(lái)可以斷點(diǎn)分析分析,然后用py或者套js的標(biāo)準(zhǔn)加密庫(kù)實(shí)現(xiàn)或者也可以按照webpack的扣代碼手法把代碼cv出來(lái)。小伙伴們,快快用實(shí)踐一下吧!如果在學(xué)習(xí)過(guò)程中,有遇到任何問(wèn)題,歡迎加我好友,我拉你進(jìn)Python學(xué)習(xí)交流群共同探討學(xué)習(xí)。
-------------------?End?-------------------
往期精彩文章推薦:
歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入Python學(xué)習(xí)群請(qǐng)?jiān)诤笈_(tái)回復(fù)【入群】
萬(wàn)水千山總是情,點(diǎn)個(gè)【在看】行不行
/今日留言主題/
隨便說(shuō)一兩句吧~~