推薦:ASP優化用數據綁定實現高效率動態網頁數據綁定(Data Binding)並不是一個新概念,IE 4.0就已對其給予了豐富的支持。但是,數據綁定並未受到應有的重視,許多開發者似乎更加願意使用服務器端腳本(Server Script)的方法。然而實際
破解目標:破解一經過加密的Asp木馬登陸密碼。由於木馬里沒有版本說明,具體也不知道這木馬叫什麼名。
破解思路:兩種,用加密後的密碼替換密文和利用密文及加密算法反解出密碼。
前者根本算不上真正的破解。如果得不到Asp源代碼,那麼可以說對破解密碼,我毫無勝算。有位華夏的朋友說他得到了一個Web的權限,但是無法修改主頁,發現其中已經有個Asp木馬,但密碼是經過加密的。好了,廢話太多了,那麼,作好準備,這次的解說將會相當的漫長。
Asp木馬登陸密碼驗證關鍵代碼如下:
if Epass(trim(request.form(password)))=q_ux624q p then response.cookies(password)=8811748 ... |
很明顯,用的是Epass函數把輸入的密碼進行加密,然後將得到的密文和原密文進行比對。如果稍有點編程基礎的話,特別是VB,那麼Epass裡的加密算法將一目了然。如果沒有,那麼,沒關係,相信經過我的講解,你很快就會明白。函數中,保存密碼的變量是pass。 pass&zxcvbnm,./ 將pass裡的內容與zxcvbnm,./相連接得到一個新的字符串。 left(pass&zxcvbnm,./,10)取前10位。 StrReverse函數將得到的10位字符串次序顛倒。 len(pass)獲得密碼的長度。下面是一個循環。將得到的字符串中的每一位的Ascii碼-密碼長度取整(字符所在位*1.1),然後將得到的數值轉換成字符重新連接。最後將得到的字符串中有'字符的全部替換成B,這樣密文的產生了。如果我們提取加密算法用自己的密文替換原有密文,那麼相映的密碼也會變成你的密碼。但我說過了,這並不是真正意義上的破解。
假如我們輸入的是love,加密過程如下:
| love lovezxcvbnm,./ '連接 lovezxcvbn '取前10位 nbvcxzevol '次序顛倒 n 110(ascii)-4(位數) int(1(位置)*1.1)=107 107的ascii碼為k,依次類推,最後密文: k`ucy hzts |
我們可以通過密文和加密算法反推出密碼,從算法的最後一步開始往上推。最後一步用B替換所有',有沒必要將B替換回'呢,答案是否定的。只要我們能得到最後的密文,密碼不一樣也是有可能的。如果有10個B,那原密碼的個數就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的循環求出所有可能的密碼,再將其用StrReverse函數次序顛倒。那麼最後得到的密碼我們該怎麼確定哪個就是呢。可以根據pass&zxcvbnm,./,看除密碼最後是否有zxvbnm,./的前幾位。那麼這就是真正的密碼。那麼如果密碼是10位,將是永遠正確的,因為後面不存在連接。所以我們可能得到兩個答案。
以下便是我編寫的解密函數:
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 |
好了,算法可能在這麼短的時間內無法完全掌握,這是正常的,那麼我將在壓縮包中附送說明文檔和加解密的Asp源代碼,大家拿回去好好研究吧。同樣,密碼10永恆正確的。那麼我們將Asp裡原有的密文拿過來看看,會有什麼結果。
分享:ASP中巧用Response屬性-- contenttype我在用ASP為某單位製作網頁時遇到這樣一個問題,單位以前的MIS系統中將一些Word文件以字節流的形式保存在數據庫中,現在用戶要求我用ASP將這些Word文件數據從數據庫中取出並在網頁中顯示出來。