巧妙破解開別人ASP木馬密碼的方法
互聯(lián)網(wǎng) 發(fā)布時間:2008-10-08 19:02:57 作者:佚名
我要評論

破解目標:破解一經(jīng)過加密的Asp木馬登陸密碼。由于木馬里沒有版本說明,具體也不知道這木馬叫什么名。
破解思路:兩種,用加密后的密碼替換密文和利用密文及加密算法反解出密碼。
前者根本算不上真正的破解。如果得不到Asp源代碼,那么可以說對破解密碼,我毫無勝算
破解目標:破解一經(jīng)過加密的Asp木馬登陸密碼。由于木馬里沒有版本說明,具體也不知道這木馬叫什么名。
破解思路:兩種,用加密后的密碼替換密文和利用密文及加密算法反解出密碼。
前者根本算不上真正的破解。如果得不到Asp源代碼,那么可以說對破解密碼,我毫無勝算。有位華夏的朋友說他得到了一個Web的權限,但是無法修改主頁,發(fā)現(xiàn)其中已經(jīng)有個Asp木馬,但密碼是經(jīng)過加密的。好了,廢話太多了,那么,作好準備,這次的解說將會相當?shù)穆L。
Asp木馬登陸密碼驗證關鍵代碼如下:
if Epass(trim(request.form("password")))="q_ux624q p" then
response.cookies("password")="8811748"
...
很明顯,用的是Epass函數(shù)把輸入的密碼進行加密,然后將得到的密文和原密文進行比對。如果稍有點編程基礎的話,特別是VB,那么Epass里的加密算法將一目了然。如果沒有,那么,沒關系,相信經(jīng)過我的講解,你很快就會明白。函數(shù)中,保存密碼的變量是pass。pass&"zxcvbnm,./" 將pass里的內(nèi)容與zxcvbnm,./相連接得到一個新的字符串。left(pass&"zxcvbnm,./",10)取前10位。StrReverse函數(shù)將得到的10位字符串次序顛倒。len(pass)獲得密碼的長度。下面是一個循環(huán)。將得到的字符串中的每一位的Ascii碼-密碼長度 取整(字符所在位*1.1),然后將得到的數(shù)值轉(zhuǎn)換成字符重新連接。最后將得到的字符串中有'字符的全部替換成B,這樣密文的產(chǎn)生了。如果我們提取加密算法用自己的密文替換原有密文,那么相映的密碼也會變成你的密碼。但我說過了,這并不是真正意義上的破解。 假如我們輸入的是love,加密過程如下: love
lovezxcvbnm,./ '連接
lovezxcvbn '取前10位
nbvcxzevol '次序顛倒
n
110(ascii)-4(位數(shù)) int(1(位置)*1.1)=107
107的ascii碼為k,依次類推,最后密文:
k`ucy hzts
我們可以通過密文和加密算法反推出密碼,從算法的最后一步開始往上推。最后一步用B替換所有',有沒必要將B替換回'呢,答案是否定的。只要我們能得到最后的密文,密碼不一樣也是有可能的。如果有10個B,那原密碼的個數(shù)就2的10次方個,雖然原密碼只有一個,但是1024個密碼都是正確的。如果要完美破解的朋友,可以自己試著編寫全部的組合。那么這步可以忽略了, 上面的算法很清晰。 chr(asc(mid(temppass,j,1))-templen int(j*1.1))
我們只要簡單的將 和-換一下就可以了。 chr(asc(mid(temppass,j,1)) templen-int(j*1.1))
但是還有一個問題,我們事先不知道密碼的長度,沒關系,幸好密碼在1-10位之間,不太長。那么我們可以用一個1到10的循環(huán)求出所有可能的密碼,再將其用StrReverse函數(shù)次序顛倒。那么最后得到的密碼我們該怎么確定哪個就是呢??梢愿鶕?jù)pass&"zxcvbnm,./",看除密碼最后是否有zxvbnm,./的前幾位。那么這就是真正的密碼。那么如果密碼是10位,將是永遠正確的,因為后面不存在連接。所以我們可能得到兩個答案。 以下便是我編寫的解密函數(shù):
function Ccode(code)
for templen1=1 to 10
mmcode=""
for j=1 to 10
mmcode=mmcode chr(asc(mid(code,j,1)) templen1-int(j*1.1))
next
Ccode=strReverse(mmcode)
response.write "密碼"&templen1&":"&Ccode&""
if mid(Ccode,templen1 1,10-templen1)=left("zxcvbnm,./",10-templen1) and templen1<>10 then
result=left(Ccode,templen1)
next
response.write "最后密碼:"&result
end function
好了,算法可能在這么短的時間內(nèi)無法完全掌握,這是正常的,那么我將在壓縮包中附送說明文檔和加解密的Asp源代碼,大家拿回去好好研究吧。同樣,密碼10永恒正確的。那么我們將Asp里原有的密文拿過來看看,會有什么結(jié)果。
if Epass(trim(request.form("password")))="q_ux624q p" then
response.cookies("password")="8811748"
...
很明顯,用的是Epass函數(shù)把輸入的密碼進行加密,然后將得到的密文和原密文進行比對。如果稍有點編程基礎的話,特別是VB,那么Epass里的加密算法將一目了然。如果沒有,那么,沒關系,相信經(jīng)過我的講解,你很快就會明白。函數(shù)中,保存密碼的變量是pass。pass&"zxcvbnm,./" 將pass里的內(nèi)容與zxcvbnm,./相連接得到一個新的字符串。left(pass&"zxcvbnm,./",10)取前10位。StrReverse函數(shù)將得到的10位字符串次序顛倒。len(pass)獲得密碼的長度。下面是一個循環(huán)。將得到的字符串中的每一位的Ascii碼-密碼長度 取整(字符所在位*1.1),然后將得到的數(shù)值轉(zhuǎn)換成字符重新連接。最后將得到的字符串中有'字符的全部替換成B,這樣密文的產(chǎn)生了。如果我們提取加密算法用自己的密文替換原有密文,那么相映的密碼也會變成你的密碼。但我說過了,這并不是真正意義上的破解。 假如我們輸入的是love,加密過程如下: love
lovezxcvbnm,./ '連接
lovezxcvbn '取前10位
nbvcxzevol '次序顛倒
n
110(ascii)-4(位數(shù)) int(1(位置)*1.1)=107
107的ascii碼為k,依次類推,最后密文:
k`ucy hzts
我們可以通過密文和加密算法反推出密碼,從算法的最后一步開始往上推。最后一步用B替換所有',有沒必要將B替換回'呢,答案是否定的。只要我們能得到最后的密文,密碼不一樣也是有可能的。如果有10個B,那原密碼的個數(shù)就2的10次方個,雖然原密碼只有一個,但是1024個密碼都是正確的。如果要完美破解的朋友,可以自己試著編寫全部的組合。那么這步可以忽略了, 上面的算法很清晰。 chr(asc(mid(temppass,j,1))-templen int(j*1.1))
我們只要簡單的將 和-換一下就可以了。 chr(asc(mid(temppass,j,1)) templen-int(j*1.1))
但是還有一個問題,我們事先不知道密碼的長度,沒關系,幸好密碼在1-10位之間,不太長。那么我們可以用一個1到10的循環(huán)求出所有可能的密碼,再將其用StrReverse函數(shù)次序顛倒。那么最后得到的密碼我們該怎么確定哪個就是呢??梢愿鶕?jù)pass&"zxcvbnm,./",看除密碼最后是否有zxvbnm,./的前幾位。那么這就是真正的密碼。那么如果密碼是10位,將是永遠正確的,因為后面不存在連接。所以我們可能得到兩個答案。 以下便是我編寫的解密函數(shù):
function Ccode(code)
for templen1=1 to 10
mmcode=""
for j=1 to 10
mmcode=mmcode chr(asc(mid(code,j,1)) templen1-int(j*1.1))
next
Ccode=strReverse(mmcode)
response.write "密碼"&templen1&":"&Ccode&""
if mid(Ccode,templen1 1,10-templen1)=left("zxcvbnm,./",10-templen1) and templen1<>10 then
result=left(Ccode,templen1)
next
response.write "最后密碼:"&result
end function
好了,算法可能在這么短的時間內(nèi)無法完全掌握,這是正常的,那么我將在壓縮包中附送說明文檔和加解密的Asp源代碼,大家拿回去好好研究吧。同樣,密碼10永恒正確的。那么我們將Asp里原有的密文拿過來看看,會有什么結(jié)果。
相關文章
- “CMOS密碼”就是通常所說的“開機密碼”,主要是為了防止別人使用自已的計算機,設置的一個屏障2023-08-01
QQScreenShot之逆向并提取QQ截圖--OCR和其他功能
上一篇文章逆向并提取QQ截圖沒有提取OCR功能, 再次逆向我發(fā)現(xiàn)是可以本地調(diào)用QQ的OCR的,但翻譯按鈕確實沒啥用, 于是Patch了翻譯按鈕事件, 改為了將截圖用百度以圖搜圖搜索.2023-02-04- QQ截圖是我用過的最好用的截圖工具, 由于基本不在電腦上登QQ了, 于是就想將其提取出獨立版目前除了屏幕錄制功能其他都逆出來了, 在此分享一下2023-02-04
非系統(tǒng)分區(qū)使用BitLocker加密導致軟件無法安裝的解決方法
很多電腦用戶在考慮自己電腦磁盤分區(qū)安全時會采用 Windows 自帶的 BitLocker 加密工具對電腦磁盤分區(qū)進行加密。但有些人加密后就會忘記自己設置的密碼從而導致在安裝其它軟2020-11-25防止離職員工帶走客戶、防止內(nèi)部員工泄密、避免華為員工泄密事件的發(fā)生
這篇文章為大家詳細介紹了如何才能防止離職員工帶走客戶、防止內(nèi)部員工泄密、避免華為員工泄密事件的發(fā)生,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-27徹底防止計算機泄密、重要涉密人員離職泄密、涉密人員離崗離職前防范舉
近些年企業(yè)商業(yè)機密泄漏的事件屢有發(fā)生,這篇文章主要教大家如何徹底防止計算機泄密、重要涉密人員離職泄密、告訴大家涉密人員離崗離職前的防范舉措,具有一定的參考價值,2017-06-27- 最近有電腦用戶反應量子計算機可以破解下載的所有的加密算法嗎?其實也不是不可以,下面虛擬就為大家講解買臺量子計算機,如何分分鐘破解加密算法2016-09-26
怎么破解Webshell密碼 Burpsuite破解Webshell密碼圖文教程
webshell是以asp、php、jsp或者cgi等網(wǎng)頁文件形式存在的一種命令執(zhí)行環(huán)境,一種網(wǎng)頁后門。黑客通常會通過它控制別人網(wǎng)絡服務器,那么怎么破解webshell密碼呢?一起來看看吧2016-09-19- 本文討論了針對Linux系統(tǒng)全盤加密的冷啟動攻擊,大家都認為這種攻擊是可行的,但執(zhí)行這么一次攻擊有多難?攻擊的可行性有多少呢?需要的朋友可以參考下2015-12-28
防止泄露公司機密、企業(yè)數(shù)據(jù)防泄密軟件排名、電腦文件加密軟件排行
面對日漸嚴重的內(nèi)部泄密事件,我們?nèi)绾问刈o企業(yè)的核心信息,如何防止內(nèi)部泄密也就成了擺在各個企業(yè)領導面前的一大問題。其實,針對內(nèi)網(wǎng)安全,防止內(nèi)部信息泄漏早已有了比較2015-12-17