破別人ASP木馬密碼的方法
發(fā)布日期:2022-01-08 08:07 | 文章來(lái)源:源碼之家
破解目標(biāo):破解一asp木馬的經(jīng)過(guò)加密的登破解asp木馬密碼陸密碼。由于木馬里沒(méi)有版本說(shuō)明,具體也不知道這木馬叫什么名。
破解思路:兩種,用加密后的密碼替換密文和利用密文及加密算法反解出密碼。前者根本算不上真正的破解。
破解目的:沒(méi)事破著玩。
如果得不到asp源代碼,那么可以說(shuō)對(duì)破解密碼,我毫無(wú)勝算。有位華夏的朋友說(shuō)他得到了一個(gè)web的權(quán)限,但是無(wú)法修改主頁(yè),發(fā)現(xiàn)其中已經(jīng)有個(gè)asp木馬,但密碼是經(jīng)過(guò)加密的。那么就有了這篇?jiǎng)赢?huà)了。好了,廢話太多了,那么,作好準(zhǔn)備,這次的解說(shuō)將會(huì)相當(dāng)?shù)穆L(zhǎng)。
asp木馬登陸密碼驗(yàn)證關(guān)鍵代碼如下:
if Epass(trim(request.form("password")))="q_ux624q|p" then response.cookies("password")="8811748" ...
很明顯,用的是Epass函數(shù)把輸入的密碼進(jìn)行加密,然后將得到的密文和原密文進(jìn)行比對(duì)。如果稍有點(diǎn)編程基礎(chǔ)的話,特別是VB,那么Epass里的加密算法將一目了然。如果沒(méi)有,那么,沒(méi)關(guān)系,相信經(jīng)過(guò)我的講解,你很快就會(huì)明白。函數(shù)中,保存密碼的變量是pass。pass&"zxcvbnm,./" 將pass里的內(nèi)容與zxcvbnm,./相連接得到一個(gè)新的字符串。left(pass&"zxcvbnm,./",10)取前10位。StrReverse函數(shù)將得到的10位字符串次序顛倒。len(pass)獲得密碼的長(zhǎng)度。下面是一個(gè)循環(huán)。將得到的字符串中的每一位的Ascii碼-密碼長(zhǎng)度 取整(字符所在位*1.1),然后將得到的數(shù)值轉(zhuǎn)換成字符重新連接。最后將得到的字符串中有’字符的全部替換成B,這樣密文的產(chǎn)生了。如果我們提取加密算法用自己的密文替換原有密文,那么相映的密碼也會(huì)變成你的密碼。但我說(shuō)過(guò)了,這并不是真正意義上的破解。
假如我們輸入的是love,加密過(guò)程如下:
lovelovezxcvbnm,./ ’連接lovezxcvbn
’取前10位nbvcxzevol
’次序顛倒n110(ascii)-4(位數(shù)) int(1(位置)*1.1)
=107107的ascii碼為k,依次類推,最后密文:k`ucy|hzts
我們可以通過(guò)密文和加密算法反推出密碼。從算法的最后一步開(kāi)始往上推。最后一步用B替換所有’,有沒(méi)必要將B替換回’呢,答案是否定的。只要我們能得到最后的密文,密碼不一樣也是有可能的。如果有10個(gè)B,那原密碼的個(gè)數(shù)就2的10次方個(gè),雖然原密碼只有一個(gè),但是1024個(gè)密碼都是正確的。如果要完美破解的朋友,可以自己試著編寫(xiě)全部的組合。 那么這步可以忽略了。 上面的算法很清晰, chr(asc(mid(temppass,j,1))-templen int(j*1.1)) 我們只要簡(jiǎn)單的將 和-換一下就可以了。 chr(asc(mid(temppass,j,1)) templen-int(j*1.1)) 但是還有一個(gè)問(wèn)題,我們事先不知道密碼的長(zhǎng)度,沒(méi)關(guān)系,幸好密碼在1-10位之間,不太長(zhǎng)。 那么我們可以用一個(gè)1到10的循環(huán)求出所有可能的密碼,再將其用StrReverse函數(shù)次序顛倒。 那么最后得到的密碼我們?cè)撛趺创_定哪個(gè)就是呢。可以根據(jù)pass&"zxcvbnm,./",看除密碼最后是否有zxvbnm,./的前幾位。 那么這就是真正的密碼。那么如果密碼是10位,將是永遠(yuǎn)正確的,因?yàn)楹竺娌淮嬖谶B接。所以我們可能得到兩個(gè)答案。 以下便是我編寫(xiě)的解密函數(shù): function Ccode(code)for templen1=1 to 10mmcode=""for j
=1 to 10mmcode=mmcode chr(asc(mid(code,j,1)) templen1-int(j*1.1))
nextCcode=strReverse(mmcode)response.write
"密碼"&templen1&":"&Ccode&""if mid(Ccode,templen1 1,10-templen1)
=left("zxcvbnm,./",10-templen1)
and templen1<>10 thenresult
=left(Ccode,templen1)nextresponse.write "最后密碼:"&resultend function 好了,算法可能在這么短的時(shí)間內(nèi)無(wú)法完全掌握,這是正常的,那么我將在壓縮包中附送說(shuō)明文檔和加解密的asp源代碼,大家拿回去好好研究吧。同樣,密碼10永恒正確的。那么我們將asp里原有的密文拿過(guò)來(lái)看看,會(huì)有什么結(jié)果。好,兩個(gè)密碼都可以登陸。為測(cè)試我在本地假設(shè)了個(gè)iis,如果本地?zé)o法架設(shè)web服務(wù)器,可以聯(lián)系本人,用其他語(yǔ)言編寫(xiě)。
lovelovezxcvbnm,./ ’連接lovezxcvbn
’取前10位nbvcxzevol
’次序顛倒n110(ascii)-4(位數(shù)) int(1(位置)*1.1)
=107107的ascii碼為k,依次類推,最后密文:k`ucy|hzts
我們可以通過(guò)密文和加密算法反推出密碼。從算法的最后一步開(kāi)始往上推。最后一步用B替換所有’,有沒(méi)必要將B替換回’呢,答案是否定的。只要我們能得到最后的密文,密碼不一樣也是有可能的。如果有10個(gè)B,那原密碼的個(gè)數(shù)就2的10次方個(gè),雖然原密碼只有一個(gè),但是1024個(gè)密碼都是正確的。如果要完美破解的朋友,可以自己試著編寫(xiě)全部的組合。 那么這步可以忽略了。 上面的算法很清晰, chr(asc(mid(temppass,j,1))-templen int(j*1.1)) 我們只要簡(jiǎn)單的將 和-換一下就可以了。 chr(asc(mid(temppass,j,1)) templen-int(j*1.1)) 但是還有一個(gè)問(wèn)題,我們事先不知道密碼的長(zhǎng)度,沒(méi)關(guān)系,幸好密碼在1-10位之間,不太長(zhǎng)。 那么我們可以用一個(gè)1到10的循環(huán)求出所有可能的密碼,再將其用StrReverse函數(shù)次序顛倒。 那么最后得到的密碼我們?cè)撛趺创_定哪個(gè)就是呢。可以根據(jù)pass&"zxcvbnm,./",看除密碼最后是否有zxvbnm,./的前幾位。 那么這就是真正的密碼。那么如果密碼是10位,將是永遠(yuǎn)正確的,因?yàn)楹竺娌淮嬖谶B接。所以我們可能得到兩個(gè)答案。 以下便是我編寫(xiě)的解密函數(shù): function Ccode(code)for templen1=1 to 10mmcode=""for j
=1 to 10mmcode=mmcode chr(asc(mid(code,j,1)) templen1-int(j*1.1))
nextCcode=strReverse(mmcode)response.write
"密碼"&templen1&":"&Ccode&""if mid(Ccode,templen1 1,10-templen1)
=left("zxcvbnm,./",10-templen1)
and templen1<>10 thenresult
=left(Ccode,templen1)nextresponse.write "最后密碼:"&resultend function 好了,算法可能在這么短的時(shí)間內(nèi)無(wú)法完全掌握,這是正常的,那么我將在壓縮包中附送說(shuō)明文檔和加解密的asp源代碼,大家拿回去好好研究吧。同樣,密碼10永恒正確的。那么我們將asp里原有的密文拿過(guò)來(lái)看看,會(huì)有什么結(jié)果。好,兩個(gè)密碼都可以登陸。為測(cè)試我在本地假設(shè)了個(gè)iis,如果本地?zé)o法架設(shè)web服務(wù)器,可以聯(lián)系本人,用其他語(yǔ)言編寫(xiě)。
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
相關(guān)文章