行之有效防范木馬后門的幾個實用招術
[ 2007-03-25 03:56:54 | 作者: sun ]
木馬是一種非常特殊的程序,它與病毒和惡意代碼不同。木馬程序(Trojan horses)隱蔽性很強,您根本不知道它們在運行。但是它們產生的危害并不亞于病毒。一旦您的機器中了木馬,則網上有人可以通過它來獲取您的密碼和一些資料。甚至一些高級的黑客可以遠程控制您的電腦。下面我們就向大家介紹有效防范木馬的招術。
小心下載軟件
由于黑客軟件被人們濫用,網上很多站點所提供下載的軟件或多或少摻雜木馬或病毒。一但該軟件被用戶下載到硬盤且滿足運行條件,木馬和病毒就會對電腦系統和用戶的信息安全構成巨大的威脅,而這一切,畢竟是普通用戶所不能察覺的。惟一能避免木馬和病毒橫行的,并不一定全依賴反病毒軟件,而是靠用戶的自制能力。如不要去訪問不知名的站點,不要去登錄染色站點,不要從上面下載撥號器或是黑客站點下載看似安全的軟件。同時,下載的時候一定要開啟防火墻。
不隨意打開附件
有很多不懷好意的人喜歡把木馬加在郵件附件中,甚至把木馬和正常文件混合在一起,然后再起上一個具有吸引力的郵件名來誘惑無辜的網友們去打開附件。此外,通過QQ間的文件傳遞也能發出木馬來。因此,我們不可以隨便打開陌生人發來的郵件,尤其是其中的附件,而.doc,.exe,.swf的附件更是要小心謹慎。如果實在要打開,可以先把這個附件文件保存到硬盤上,用郵件監控或反病毒掃描一番后再打開。
使用殺毒軟件
新的木馬和病毒一出來,惟一能控制其蔓延的就是不斷地更新防毒軟件中的病毒庫。除開啟防毒軟件的保護功能外,我們還可以多運行一些其他的軟件,如天網等,它可以監控網絡之間正常的數據流通和不正常的數據流通并隨時對用戶發出相關提示。如果我們懷疑機器染了木馬,還可以從http://download.zol.com.cn上下載個木馬克星來徹底掃描木馬,保護系統的安全。主要的木馬查殺程序有Trojan Defense、Antiy Ghostbusters、Digital Patrol、PestPatrol、Tauscan、TDS-3 Trojan Defence Suite和Trojan Remover等,而且有的是免費軟件,大家下載后可以免費使用。
查看文件擴展名
木馬的擴展名多數為VBS、PIF等,甚至有的木馬根本就沒有擴展名。利用這個特征我們只要打開“我的電腦”,依次選擇“查看→文件夾選項”命令,再單擊“查看”標簽,用鼠標向下拖動滾動欄,去掉“隱藏已知文件的擴展名”前的小鉤讓文件的擴展名顯示出來。以后看到擴展名為VBS、PIF等文件時就要多加小心了。
編后語:以上都是一些操作習慣,但對于我們抵御木馬是相當有幫助的。由于木馬程序每天都會出現新的種類,所以一般的木馬程序都會提供即時在線更新服務,以便讓它能夠即時檢測出系統中的木馬。
隱藏在背后的陰謀 瀏覽器劫持的攻與防
[ 2007-03-25 03:56:44 | 作者: sun ]
“瀏覽器劫持”,通俗點說就是故意誤導瀏覽器的行進路線的一種現象,常見的瀏覽器劫持現象有:訪問正常網站時被轉向到惡意網頁、當輸入錯誤的網址時被轉到劫持軟件指定的網站、輸入字符時瀏覽器速度嚴重減慢、IE瀏覽器主頁/搜索頁等被修改為劫持軟件指定的網站地址、自動添加網站到“受信任站點”、不經意的插件提示安裝、收藏夾里自動反復添加惡意網站鏈接等,不少用戶都深受其害。那么,這類現象是如何引起的呢?用戶又該如何防范應對呢?這就是本文要介紹的內容。
一、“攻”之解說
1、整體認識。
瀏覽器劫持(Browser Hijack)是一種惡意程序軟件,通過惡意修改用戶個人電腦的瀏覽器默認設置,以引導用戶登錄被其修改的或并非用戶本意要瀏覽的網頁。大多數瀏覽器劫持者是在用戶訪問其網站時,通過修改其瀏覽器默認首頁或搜索結果頁,達到劫持網民瀏覽器的目的。這些載體可以直接寄生于瀏覽器的模塊里,成為瀏覽器的一部分,進而直接操縱瀏覽器的行為。“瀏覽器劫持”的后果非常嚴重,用戶只有在受到劫持后才會發現異常情況;目前,瀏覽器劫持已經成為Internet用戶最大的威脅之一。
2、現象分析。
“瀏覽器劫持”的攻擊手段可以通過被系統認可的“合法途徑”來進行。所謂“合法途徑”,即是說大部分瀏覽器劫持的發起者,都是通過一種被稱為“BHO”(Browser Helper Object,瀏覽器輔助對象)的技術手段來植入系統。
而BHO是微軟早在1999年推出的作為瀏覽器對第三方程序員開放交互接口的業界標準,它是一種可以讓程序員使用簡單代碼進入瀏覽器領域的“交互接口”, 由于BHO的交互特性,程序員還可以使用代碼去控制瀏覽器的行為,比如常見的修改替換瀏覽器工具欄、在瀏覽器界面上添加自己的程序按鈕等操作,這些操作都被系統視為“合法”,這就是“瀏覽器劫持”現象賴以存在的根源。
二、“防”之細談
這類現象確實難以防范,用戶永遠處于被動地位。我們只能通過一些設置與軟件的應用,讓這種影響減至最低。以下辦法可供大家參考。
1、個別劫持現象的手動修正。
Windows登錄窗口被劫持。
在注冊表中打開HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Winlogon分支,然后將其下的“LegalNoticeCaption”和“LegalNoticeText”主鍵刪除即可解決問題。
在網頁中單擊鼠標右鍵,在彈出的菜單里顯示網頁廣告。
在注冊表中打開HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt分支,IE瀏覽器中顯示的附加右鍵菜單都在這里設置,常見的網際快車單擊右鍵下載的信息也存放在這里,只需找到顯示廣告的主鍵條目刪除即可。
2、通用修正法。
雖然“瀏覽器劫持”一般都需要手工修正,但仍可以通過一些檢測瀏覽器劫持工具如HijackThis、Browser Hijack Recover等來實現修正工作。下面以HijackThis為例,簡要說明修正過程。
軟件下載地址:http://www.mydown.com/soft/187/187841.html。下載完成后雙擊即可啟動到如圖所示主界面。單擊左下角“掃描”按鈕,軟件會自動對系統進行全方位的安全檢測;稍等之后即會返回系統中所有可疑內容,每個可疑項目前都有一個編號,這些編號代表了不同的類別;勾選某個項目后單擊右下角的“顯示所選項目信息”按鈕可以查看到更詳細的信息;然后單擊“修復”按鈕即可進行修復。
三、總結
瀏覽器一旦被劫持,就意味這你無法決定自己的電腦里將被存放進什么資料,這無疑存在巨大安全隱患。而如今的互聯網絡環境可謂處處是“瀏覽器劫持”式的陷阱,單憑普通用戶被動的事后修正無異于亡羊補牢;更多的需要全世界互聯網使用者把好公眾輿論和道德走向一關。
安全攻略:提高操作系統和IIS安全性
[ 2007-03-25 03:56:31 | 作者: sun ]
IIS(Internet Information Server)作為目前最為流行的Web服務器平臺,發揮著巨大的作用。因此,了解如何加強IIS的安全機制,建立一個高安全性能的Web服務器就顯得尤為重要。
保證系統的安全性
因為IIS是建立在操作系統下,安全性也應該建立在系統安全性的基礎上,因此,保證系統的安全性是IIS安全性的基礎,為此,我們要做以下事情。
1、 使用NTFS文件系統
在NT系統中應該使用NTFS系統,NTFS可以對文件和目錄進行管理,而FAT文件系統只能提供共享級的安全,而且在默認情況下,每建立一個新的共享,所有的用戶就都能看到,這樣不利于系統的安全性。和FAT文件系統不同,在NTFS文件下,建立新共享后可以通過修改權限保證系統安全。
2、 關閉默認共享
在Windows 2000中,有一個“默認共享”,這是在安裝服務器的時候,把系統安裝分區自動進行共享,雖然對其訪問還需要超級用戶的密碼,但這是潛在的安全隱患,從服務器的安全考慮,最好關閉這個“默認共享”,以保證系統安全。方法是:單擊“開始/運行”,在運行窗口中輸入“Regedit”,打開注冊表編輯器,展開“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\lanmanworkstation\parameters”,在右側窗口中創建一個名為“AutoShare-Wks”的雙字節值,將其值設置為0,這樣就可以徹底關閉“默認共享”。
3、 設置用戶密碼
用戶一定要設置密碼,用戶的密碼盡量使用數字與字母大小混排的口令,還需要經常修改密碼,封鎖失敗的登錄嘗試,并且設定嚴格的賬戶生存時間。應避免設置簡單的密碼,且用戶的密碼盡可能不要和用戶名有任何關聯。
保證IIS自身的安全性
在保證系統具有較高安全性的情況下,還要保證IIS的安全性,主要請注意以下事情:
1、要盡量避免把IIS安裝在網絡中的主域控制器上。因為在安裝完IIS后,會在所安裝的計算機上生成IUSR_Computername的匿名賬戶。這個賬戶會被添加到域用戶組中,從而把應用于域用戶組的訪問權限提供給訪問Web服務器的每個匿名用戶,這樣不僅不能保證IIS的安全性,而且會威脅到主域控制器。
2、限制網站的目錄權限。目前有很多的腳本都有可能導致安全隱患,因此在設定IIS中網站的目錄權限時,要嚴格限制執行、寫入等權限。
3、經常到微軟的站點下載IIS的補丁程序,保證IIS最新版本。
只要提高安全意識,經常注意系統和IIS的設置情況,IIS就會是一個比較安全的服務器平臺,能為我們提供安全穩定的服務。
卡巴斯基6安全防護機制的相關分析
[ 2007-03-25 03:56:20 | 作者: sun ]
2006年 5月15日,著名的反病毒安全軟件廠商KasperskyLab發布了劃時代的安全軟件套裝Kaspersky Internet Security 6(簡稱KIS6)以及 Kaspersky AntiVirus 6.0(簡稱KAV6)。KIS6/KAV6比卡罷以前的產品有了質的提高。KIS6包含了文件防毒、郵件防毒、網頁防毒、事前防衛(包括進程行為監控,監視各類代碼注入、安裝全局鉤子、加載驅動/服務等行為;文件完整性檢查;檢查各類運用RK技術的文件/進程/端口/注冊表隱藏;Office宏保護等);反間諜軟件、防火墻、反垃圾郵件等功能。KAV6比KIS6缺少了防火墻模塊。
整體來說,KIS6非常強大。 Руткит 討論組里,我們一致公認KIS6是目前最強的個人類安全套裝。卡巴實驗室里的確實都是精英,實力雄厚,許多東西都運用的Undocumented技術,導致我上一版本的WinDbg一進入內核調試狀態就崩潰。KIS6的注冊表監控的非常全:NoWinodwsApp,ShellServiceObjectDelayLoad,ShellExcuteHooks,SharedTaskScheduler,SafeBoot,\Winlogon\Notify,AppInit_DLLs,開關機腳本等其他安全軟件較少監控的自啟動鍵值他都監控了;另外KIS6監控了各類代碼注入,包括SetThreadContext的方法;監控了加載驅動、服務加載、通過\\Device\\PhysicalMemory對象進Ring0等;監控全局鉤子的安裝;文件完整性檢查;反Rootkit,檢測隱藏文件隱藏進程隱藏端口隱藏注冊表;值的一提的是涂改PspIdTable方法隱藏進程的方法KIS6也能查。另外KIS6的防火墻的控管規則也比較細,不像國內的個人防火墻是以進程為最小控管單位,KIS6如國外的其他一些防火墻把控制策略細化到具體進程的某個端口,比如默認情況下只允許Explorer.exe訪問HTTP80端口,而不是完全允許Explorer.exe進程訪問網絡。
夸KIS6夸完了,現在來說說他的弱點:關于KIS6監控采用遠程線程代碼注入的行為時,他只對注入IE等進程有反映,而他防火墻默認的控管規則里卻允許Svchost等進程訪問HTTP等端口,那木馬程序只要用遠程線程的方法注入svchost等進程,就能完完全全逃過卡巴了。
再來看在KIS6下怎樣實現自啟動。KIS6監控注冊表確實監控得很全,而且還監控服務之類的,初看你在自啟動方面是無處下手。不過可愛的卡巴斯基又犯了讓我悲哀的低級錯誤,開始菜單里的啟動文件夾他竟然沒監控。免得被人說這樣做太猥瑣,那就再說個方法,因為可愛的卡巴在監控遠程線程代碼注入時只IE等進程進行提示,從而我們可以注入Winlogon,注入Winlogon后我們就可以Defeat SFP,然后感染文件實現自啟動,雖然卡巴有文件完整性檢查,不過問題不大,你自己試了就明白為什么了,呵呵。
再說點底層的,KIS6監控加載驅動監控得不全,嘿嘿,使用ZwSetSystemInformation我們照樣可以加載驅動了,能加載驅動了天下還不是我們的了? 恢復SSDT表呀,DKOM,Miniport NDIS Hook,任我們玩了。
vxk的補充:
除了XYZREG說的幾個地方,卡巴斯基在面對BOOT.INI+NTOSKRNL.EXE改寫大法(這個方法很無恥),還有HOTPATCH(幾乎通吃FireWall)大法時都很脆弱啊!
hotPatch能夠動態的改寫某些dll的,比如kernel32.dll,我就不多說了。你在kernel32.dll里做一個code injection然后在適當的進程內部加載我們的DLL,好了,一切搞定。
實戰錄 一次對頑固灰鴿子的查殺
[ 2007-03-25 03:56:07 | 作者: sun ]
朋友電腦中了木馬,因為在異地,所以有了這次不很方便的查殺。
她用的是卡巴,卡巴也報出了病毒GAAKEY.DLL,顯示是鴿子“HUPIGON”。不過進程里沒有IE。我記得灰鴿子是往IE里邊插的,讓她用卡巴查殺了一下內存,汗,好多的病毒。插入了EXPLORER等眾多進程中,而且卡巴無法刪除。也是,那些進程都用著呢。對方是個MM,電腦小白的MM,遠控總是斷。費盡九牛二虎之力讓她明白了如何進入安全模式。當時我是這么想的,肯定還有GAAHOOK.DLL,GAA.EXE這樣的文件在%systemroot%下邊。所以叮囑她進入安全模式以后找這三個東東,然后刪除掉。沒想到的是她找不到,當時電話聯系著。問,你看你C盤下有沒有BOOT.INI什么文件,顯示顏色有點淡的(就是隱藏文件,之前已經叫她把系統那些保護和隱藏文件都顯示了的)?答曰:無。
看來木馬用了手段,這些看不到。讓她重啟回來,QQ上給她“System Repair Engineer”。使用“智能掃描”,按下“掃描”按鈕進行掃描,掃描完成后按下“保存報告”按鈕保存報告日志文件(SREng.LOG),把保存的報告日志文件給我。我一看發現有GADMIN GADMINISTRATOR兩個服務。
把System Repair Engineer和KILLBOXE.exe給準備好,然后我把文本發給她,讓她保存到桌面,進安全模式進行刪除。
文本內容如下:
==========================
重新啟動電腦, 開機檢測完后, 不停按[F8]鍵(可以一直按到啟動菜單出來為止), 選擇安全模式進入Windows,這個你應該可以操作了。
運行(雙擊)System Repair Engineer(就是我給你那個“SREng.exe”),
點啟動項目,服務,然后點“Win32服務應用程序”。勾選“隱藏微軟服務”,好了,然后要選擇病毒服務了。選中病毒服務Gadmin / GAadministrator,選擇“刪除服務”點“設置”選擇“否”
雙擊打開KillBox.exe,分別刪除
C:\WINDOWS\GAadmin
C:\WINDOWS\GAaKey.DLL
c:\windows\gaa.dll(這個找不到或者沒有刪除都沒有關系,等下交給殺毒軟件就可以搞定的了。)
刪除時勾選“刪除前先結束Explorer.EXE進程”,可能會沒有了桌面,不過等一會兒就會出來了。
=============================
不過可惜的是MM的桌面一直沒出來,汗!我讓她強行關機了,然后重啟。哇哈哈,再用卡巴掃描清理了一下,世界清靜了,MM笑了
重定向命令在安全方面的應用
[ 2007-03-25 03:55:57 | 作者: sun ]
大家知道,DOS下有一個不為大家所常用的命令——重定向命令,這個小東西非常有用,該命令同樣可以用于Win9x/ME/2000/XP下,靈活的使用這個命令可以給我們帶來很大的方便——無論是入侵還是防守抑或是系統應用,都會帶來很大的便利。今天就讓我們來看幾個重定向命令在安全方面的應用實例。
一、命令格式
DOS的標準輸入輸出通常是在標準設備鍵盤和顯示器上進行的,利用重定向,可以方便地將輸入輸出改向磁盤文件或其它設備。其中:
1.大于號“>”將命令發送到文件或設備,例如打印機>prn。使用大于號“>”時,有些命令輸出(例如錯誤消息)不能重定向。
2.雙大于號“>>”將命令輸出添加到文件結尾而不刪除文件中已有的信息。
3.小于號“<”從文件而不是鍵盤上獲取命令所需的輸入。
4.>&符號將輸出從一個默認I/O流(stdout,stdin,stderr)重新定向到另一個默認I/O流。例如,command >output_file 2>&1將處理command過程中的所有錯誤信息從屏幕重定向到標準文件輸出中。標準輸出的數值如下所示:
標準輸出 等價的數值
Stdin 0
Stdout 1
Stderr 2
其中,1和2都創建一個文件用于存放數據;4可能不能夠在DOS下使用。
二、重定向命令的輸出
幾乎所有的命令均將輸出發送到屏幕。即使是將輸出發送到驅動器或打印機的命令,也會在屏幕上顯示消息和提示。要將輸出從屏幕重定向到文件或打印機,請使用大于號(>)。大多數命令中均可以使用大于號。例如,在以下命令中,dir命令生成的目錄列表重定向到Dirlist.txt文件:dir>dirlist.txt,如果Dirlist.txt文件不存在,系統將創建該文件。如果Dirlist.txt存在,系統將使用dir命令的輸出替換文件中的信息。
要將命令輸出添加到文件結尾而不丟失文件中的任何信息,請使用雙大于號(>>)。例如,在以下命令中,dir命令生成的目錄列表附加到Dirlist.txt文件中:dir>dirlist.txt,將輸入重定向到一個命令,就象可以將命令輸出發送到文件或打印機而不是屏幕一樣,您可以從文件而不是從鍵盤獲取命令的輸入。要從文件獲取輸入,請使用小于號(<)。例如,以下命令將從List.txt文件中獲取sort命令的輸入:sort
一、命令格式
DOS的標準輸入輸出通常是在標準設備鍵盤和顯示器上進行的,利用重定向,可以方便地將輸入輸出改向磁盤文件或其它設備。其中:
1.大于號“>”將命令發送到文件或設備,例如打印機>prn。使用大于號“>”時,有些命令輸出(例如錯誤消息)不能重定向。
2.雙大于號“>>”將命令輸出添加到文件結尾而不刪除文件中已有的信息。
3.小于號“<”從文件而不是鍵盤上獲取命令所需的輸入。
4.>&符號將輸出從一個默認I/O流(stdout,stdin,stderr)重新定向到另一個默認I/O流。例如,command >output_file 2>&1將處理command過程中的所有錯誤信息從屏幕重定向到標準文件輸出中。標準輸出的數值如下所示:
標準輸出 等價的數值
Stdin 0
Stdout 1
Stderr 2
其中,1和2都創建一個文件用于存放數據;4可能不能夠在DOS下使用。
二、重定向命令的輸出
幾乎所有的命令均將輸出發送到屏幕。即使是將輸出發送到驅動器或打印機的命令,也會在屏幕上顯示消息和提示。要將輸出從屏幕重定向到文件或打印機,請使用大于號(>)。大多數命令中均可以使用大于號。例如,在以下命令中,dir命令生成的目錄列表重定向到Dirlist.txt文件:dir>dirlist.txt,如果Dirlist.txt文件不存在,系統將創建該文件。如果Dirlist.txt存在,系統將使用dir命令的輸出替換文件中的信息。
要將命令輸出添加到文件結尾而不丟失文件中的任何信息,請使用雙大于號(>>)。例如,在以下命令中,dir命令生成的目錄列表附加到Dirlist.txt文件中:dir>dirlist.txt,將輸入重定向到一個命令,就象可以將命令輸出發送到文件或打印機而不是屏幕一樣,您可以從文件而不是從鍵盤獲取命令的輸入。要從文件獲取輸入,請使用小于號(<)。例如,以下命令將從List.txt文件中獲取sort命令的輸入:sort
最大限度保護無線網絡安全的六項措施
[ 2007-03-25 03:55:46 | 作者: sun ]
合理保護無線訪問點的目的在于,將無線網絡與無權使用服務的外人隔離開來。往往說來容易做時難。就安全而言,無線網絡通常比固定有線網絡更難保護,這是因為有線網絡的固定物理訪問點數量有限,而在天線輻射范圍內的任何一點都可以使用無線網絡。盡管本身存在著困難,但合理保護無線網絡系統是保護系統避免嚴重安全問題的關鍵所在。為了最大限度地堵住這些安全漏洞,就要確保網絡人員采取保護無線網絡的六項措施。
規劃天線的放置
要部署封閉的無線訪問點,第一步就是合理放置訪問點的天線,以便能夠限制信號在覆蓋區以外的傳輸距離。別將天線放在窗戶附近,因為玻璃無法阻擋信號。你最好將天線放在需要覆蓋的區域的中心,盡量減少信號泄露到墻外。當然,完全控制信號泄露幾乎是不可能的,所以還需要采取其它措施。
使用WEP
無線加密協議(WEP)是對無線網絡上的流量進行加密的一種標準方法。盡管存在重大缺陷,但WEP仍有助于阻撓偶爾闖入的黑客。許多無線訪問點廠商為了方便安裝產品,交付設備時關閉了WEP功能。但一旦采用這做法,黑客就能立即訪問無線網絡上的流量,因為利用無線嗅探器就可以直接讀取數據。
變更SSID及禁止SSID廣播
服務集標識符(SSID)是無線訪問點使用的識別字符串,客戶端利用它就能建立連接。該標識符由設備制造商設定,每種標識符使用默認短語,如101就是3Com設備的標識符。倘若黑客知道了這種口令短語,即使未經授權,也很容易使用你的無線服務。對于部署的每個無線訪問點而言,你要選擇獨一無二并且很難猜中的SSID。如果可能的話,禁止通過天線向外廣播該標識符。這樣網絡仍可使用,但不會出現在可用網絡列表上。
禁用DHCP
對無線網絡而言,這很有意義。如果采取這項措施,黑客不得不破譯你的IP地址、子網掩碼及其它所需的TCP/IP參數。無論黑客怎樣利用你的訪問點,他仍需要弄清楚IP地址。
禁用或改動SNMP設置
如果你的訪問點支持SNMP,要么禁用,要么改變公開及專用的共用字符串。如果不采取這項措施,黑客就能利用SNMP獲得有關你方網絡的重要信息。
使用訪問列表
為了進一步保護無線網絡,請使用訪問列表,如果可能的話。不是所有的無線訪問點都支持這項特性,但如果你的網絡支持,你就可以具體地指定允許哪些機器連接到訪問點。支持這項特性的訪問點有時會使用普通文件傳輸協議(TFTP),定期下載更新的列表,以避免管理員必須在每臺設備上使這些列表保持同步的棘手問題
規劃天線的放置
要部署封閉的無線訪問點,第一步就是合理放置訪問點的天線,以便能夠限制信號在覆蓋區以外的傳輸距離。別將天線放在窗戶附近,因為玻璃無法阻擋信號。你最好將天線放在需要覆蓋的區域的中心,盡量減少信號泄露到墻外。當然,完全控制信號泄露幾乎是不可能的,所以還需要采取其它措施。
使用WEP
無線加密協議(WEP)是對無線網絡上的流量進行加密的一種標準方法。盡管存在重大缺陷,但WEP仍有助于阻撓偶爾闖入的黑客。許多無線訪問點廠商為了方便安裝產品,交付設備時關閉了WEP功能。但一旦采用這做法,黑客就能立即訪問無線網絡上的流量,因為利用無線嗅探器就可以直接讀取數據。
變更SSID及禁止SSID廣播
服務集標識符(SSID)是無線訪問點使用的識別字符串,客戶端利用它就能建立連接。該標識符由設備制造商設定,每種標識符使用默認短語,如101就是3Com設備的標識符。倘若黑客知道了這種口令短語,即使未經授權,也很容易使用你的無線服務。對于部署的每個無線訪問點而言,你要選擇獨一無二并且很難猜中的SSID。如果可能的話,禁止通過天線向外廣播該標識符。這樣網絡仍可使用,但不會出現在可用網絡列表上。
禁用DHCP
對無線網絡而言,這很有意義。如果采取這項措施,黑客不得不破譯你的IP地址、子網掩碼及其它所需的TCP/IP參數。無論黑客怎樣利用你的訪問點,他仍需要弄清楚IP地址。
禁用或改動SNMP設置
如果你的訪問點支持SNMP,要么禁用,要么改變公開及專用的共用字符串。如果不采取這項措施,黑客就能利用SNMP獲得有關你方網絡的重要信息。
使用訪問列表
為了進一步保護無線網絡,請使用訪問列表,如果可能的話。不是所有的無線訪問點都支持這項特性,但如果你的網絡支持,你就可以具體地指定允許哪些機器連接到訪問點。支持這項特性的訪問點有時會使用普通文件傳輸協議(TFTP),定期下載更新的列表,以避免管理員必須在每臺設備上使這些列表保持同步的棘手問題
菜鳥安全加倍:精通防火墻問與答
[ 2007-03-25 03:55:36 | 作者: sun ]
凡是網絡存在之處,都不可避免地會受到諸多不安全因素的威脅,在系統中安裝防火墻無疑是最明智、有效的選擇。我們既然寄希望于防火墻成為個人計算機與網絡之間的一道安全屏障,就一定要對防火墻的方方面面有通透的了解,才能事半功倍,達到預期效果。
問:Windows 2003 自帶的防火墻應該如何打開和關閉?
答:可以直接在網卡屬性里面設置,也可以在服務里面自己開啟服務。
*******************************************************
問:除了Norton 8.1版能裝在Windows 2003,還有哪個殺毒軟件能支持Windows 2003的?
答:McAfee VirusScan Enterprise、Kaspersky Anti-Virus for NT Server 都可以,但惟一通過Windows 2003認證的目前是趨勢SPNT 5.57中文版。
******************************************************
問:Windows 2000 Server裝了ZoneAlarm Pro防火墻,還裝了Terminal Service終端服務用來遠程控制。可怎么配置都無法從遠程連接終端服務,大概是ZoneAlarm Pro禁止了鏈接請求。應該怎樣配置才能讓ZoneAlarm Pro允許終端服務連接呢?
答:開放3389端口。
***************************************************
問:我在使用 Norton Internet Security 時遇到了以下問題:一是由于硬性屏蔽了來路信息,導致 Discuz 提交安全檢查無法通過,在發帖等情況下提示為未定義操作;二是由于誤判斷,將發帖時的 Discuz 代碼輔助提示判斷為廣告信息而不被執行。有何解決方法?
答:修改 Norton 的默認配置可以避免以上問題,方法如下(以 Norton Internet Security 2003 中文版為例)。
1. 調出“選項”窗口,選擇“Norton Internet Security→Web內容→瀏覽站點的信息”,選擇“允許”。
2. 選擇“禁止廣告→配置”,取消“啟用禁止廣告”復選框。
經過上述修改后,在安裝有 Norton Internet Security 的機器上仍然可以順暢地訪問 Discuz! 及其他網站。
************************************************************
問:單位有人使用BT大量下載東西。以前我在防火墻上封掉對外的6969端口好像很有效果,但是最近好像沒啥效果了。請問有什么好的建議嗎?
答:那就使用防火墻把6999-9999端口都封了,不過,他們還會開別的,用監視看他們用哪個就封哪個。
***********************************************************
問:朋友的一臺筆記本電腦,主要就是寫寫文章,上網查點東西,不玩游戲,其他東西做的也不多。3月份重裝系統安裝了ZoneAlarm防火墻后,就開始出現:如果ADSL網絡沒有流量(就是不訪問點什么,停在那里不動)大概過10分鐘就會斷線,然后機器重新撥號連接!我檢查半天,就是找不到有什么問題,請問可能會是什么原因?
答:通常來說,這類防火墻都有當網絡閑置時自動斷線的功能,而且,一般來說,這個功能默認情況下是啟用的,解決這位朋友遇到的問題辦法其實很簡單,只需去掉這個功能即可。
************************************************************
問:裝Kerio Personal Firewall 2.1.5防火墻的這臺機器是直接撥號上網ADSL,兩臺機器是Hub相連的,通過Windows XP的那個共享來一起上網。現在裝了防火墻之后,另一臺就不能上網了,不論做什么都不行。請問大家,要創建些怎樣的規則才行呢?
答:選擇“管理→防火墻→高級→Microsoft網絡”,選中“允許其他用戶訪問我的共享文件夾和打印機”即可。
********************************************************
問:我現在QQ每發送一個消息,Norton都會進行病毒掃描。在內存駐留Savscan.exe這個程序,在后臺強行關閉不了這個文件,一關閉就會出現提示,但是仍然繼續掃描,好像是掃描msg.db的一個文件。掃描過程使我用QQ速度很慢,而且CPU占用率很高,請問我如何關閉Norton對QQ的病毒掃描?
答:在Norton的程序選項中,選擇“系統→自動防護→排除”,在右側列表中將QQ程序添加至要“排除的項目”。再選擇“其它→威脅類別→排除”,同樣添加QQ程序至右側列表中。
問:Windows 2003 自帶的防火墻應該如何打開和關閉?
答:可以直接在網卡屬性里面設置,也可以在服務里面自己開啟服務。
*******************************************************
問:除了Norton 8.1版能裝在Windows 2003,還有哪個殺毒軟件能支持Windows 2003的?
答:McAfee VirusScan Enterprise、Kaspersky Anti-Virus for NT Server 都可以,但惟一通過Windows 2003認證的目前是趨勢SPNT 5.57中文版。
******************************************************
問:Windows 2000 Server裝了ZoneAlarm Pro防火墻,還裝了Terminal Service終端服務用來遠程控制。可怎么配置都無法從遠程連接終端服務,大概是ZoneAlarm Pro禁止了鏈接請求。應該怎樣配置才能讓ZoneAlarm Pro允許終端服務連接呢?
答:開放3389端口。
***************************************************
問:我在使用 Norton Internet Security 時遇到了以下問題:一是由于硬性屏蔽了來路信息,導致 Discuz 提交安全檢查無法通過,在發帖等情況下提示為未定義操作;二是由于誤判斷,將發帖時的 Discuz 代碼輔助提示判斷為廣告信息而不被執行。有何解決方法?
答:修改 Norton 的默認配置可以避免以上問題,方法如下(以 Norton Internet Security 2003 中文版為例)。
1. 調出“選項”窗口,選擇“Norton Internet Security→Web內容→瀏覽站點的信息”,選擇“允許”。
2. 選擇“禁止廣告→配置”,取消“啟用禁止廣告”復選框。
經過上述修改后,在安裝有 Norton Internet Security 的機器上仍然可以順暢地訪問 Discuz! 及其他網站。
************************************************************
問:單位有人使用BT大量下載東西。以前我在防火墻上封掉對外的6969端口好像很有效果,但是最近好像沒啥效果了。請問有什么好的建議嗎?
答:那就使用防火墻把6999-9999端口都封了,不過,他們還會開別的,用監視看他們用哪個就封哪個。
***********************************************************
問:朋友的一臺筆記本電腦,主要就是寫寫文章,上網查點東西,不玩游戲,其他東西做的也不多。3月份重裝系統安裝了ZoneAlarm防火墻后,就開始出現:如果ADSL網絡沒有流量(就是不訪問點什么,停在那里不動)大概過10分鐘就會斷線,然后機器重新撥號連接!我檢查半天,就是找不到有什么問題,請問可能會是什么原因?
答:通常來說,這類防火墻都有當網絡閑置時自動斷線的功能,而且,一般來說,這個功能默認情況下是啟用的,解決這位朋友遇到的問題辦法其實很簡單,只需去掉這個功能即可。
************************************************************
問:裝Kerio Personal Firewall 2.1.5防火墻的這臺機器是直接撥號上網ADSL,兩臺機器是Hub相連的,通過Windows XP的那個共享來一起上網。現在裝了防火墻之后,另一臺就不能上網了,不論做什么都不行。請問大家,要創建些怎樣的規則才行呢?
答:選擇“管理→防火墻→高級→Microsoft網絡”,選中“允許其他用戶訪問我的共享文件夾和打印機”即可。
********************************************************
問:我現在QQ每發送一個消息,Norton都會進行病毒掃描。在內存駐留Savscan.exe這個程序,在后臺強行關閉不了這個文件,一關閉就會出現提示,但是仍然繼續掃描,好像是掃描msg.db的一個文件。掃描過程使我用QQ速度很慢,而且CPU占用率很高,請問我如何關閉Norton對QQ的病毒掃描?
答:在Norton的程序選項中,選擇“系統→自動防護→排除”,在右側列表中將QQ程序添加至要“排除的項目”。再選擇“其它→威脅類別→排除”,同樣添加QQ程序至右側列表中。
如何成為一個網絡安全專家
[ 2007-03-25 03:55:24 | 作者: sun ]
cceye譯
譯自 RFP Cceye注腳:既 .rain.forest.puppy. 也是我在 BUG trag 見到的最有影響力的發言
者. )原文在: http://cceye.iscool.net
[ 我寫這個并不是因為我已經厭倦了一遍又一遍的回答一樣的問題,而是考慮到這確實是一個有意
義的問題,其實很多人(90%)確實需要問這個問題而從來沒有去問.]
[ 這是一個可能經常更新的文檔 ]
我被問了很多次有關于很多領域的問題.
比如:什么編程語言你最推薦? 應該讀什么書作為開始?
總而言之,如何在安全領域內成為一個有影響的人.
既然我的答案和一般的答案有所不同,我打算把我的看法說出來.
-----------------------------------------------------------------------
從那里開始?
-----------------------------------------------------------------------
我的觀點可能和一般的看法十分的不一樣。如果你是剛剛起步,我建議你---*不要*以
Technotronic, Bugtraq,
Packetstorm, Rootshell (不知道這個是否還在運行?), 等等地方為開始。
沒錯!*不要*從那里開始。(盡管他們是很好的站點,而且這里沒有說你不要去訪問他們的站
點)。
原因十分簡單。如果你以為通曉“安全”就是知道最新的漏洞,你將會發現你自己一無所獲。
我同意,知道什么是好的,什么有漏洞是十分有必要的。但是這些并不能夠給你的高手之路打下堅
實的基礎知識。很好,你知道RDS 是最新的漏洞,你知道如何下載并使用利用這個漏洞的SCRIPT
工具。你知道如何修補這個漏洞(也許。很多人只知如何攻擊,不知道如何防護)3個月后,補丁
漫天飛舞。這個漏洞已經不存再了------現在你的那些知識還有什么用?而且還不算你可能根本
沒有理解漏洞的分析。
你的知識是什么? 分析?還是攻擊手段?
這是我想要再一次強調的。人們可能沒有注意,已經有很多人認為只要他們知道最新的漏洞他們就
是安全專家。NO! NO ! NO!所有他們知道的只不過是“漏洞”,而*不是* “安全”。
例如:你知道有關于PHF 的漏洞,SHOWCODE。ASP 的漏洞。 COUNT。CGI 和TEST-CGI 的漏洞。
但是你知道為什么他們會成為CGI 的漏洞嗎?你知道如何編一個安全的通用網關嗎?你會根據一
個CGI 的工作狀態來判斷他可能有哪些漏洞或那方面的漏洞嗎?或者,你是不是只知道這些CGI
有漏洞呢?
所以我建議你*不要*從漏洞開始。就當他們不存在(你知道我的意思)。你真正需要做的是從一個
普通用戶開始。
-----------------------------------------------------------------------
做一個用戶。
-----------------------------------------------------------------------
我的意思是你至少要有一個基本的常規的知識。例如:如果你要從事 WEB HACKING 你是否可能連
瀏覽器都不會使用?你會打開NETSCAPE , 打開IE? 很好!你會輸入姓名。你知道 。HTML 是
網頁。 很好。。。你要一直這樣下去,變成一個熟練的用戶。你會區別ASP 和CGI 是動態的。
什么是PHP ? 什么是轉向?COOKIE? SSL?你要知道任何一個普通用戶可能接觸到的關于WEB
的事物。
不是進攻漏洞,僅僅是使用。沒有基礎的(也許是枯燥的)的這些東西你不可能成為高手++。
這里沒有任何捷徑。
好, 現在你知道這里的一切了, 你用過了。在你HACK UNIX 之前你至少要知道如何LOGIN 。
LOGOUT 。 使用 SHELL COMMAND 。 使用一般的常用的程序。 ( MAIL , FTP ,WEB 。
LYNX 。 等等)。 你要想成為一個管理員,你要知道基本的操作。
-----------------------------------------------------------------------
成為一個管理員。
-----------------------------------------------------------------------
現在你已經超過了一個普通用戶的領域了。進入了更復雜的領域。你要掌握更多的東西。
例如:WEB 服務器的類型。和其他的有什么區別?如何去配置他。想這樣的知識你知道的越多意
味著你更了解他是如何工作的。他是干什么的。你理解HTTP 協議嗎?你知道HTTP 1。0 和
HTTP1。1 之間的區別嗎?WEBDAV 是什么?知道HTTP1。1 虛擬主機有助于你建立你的WEB 服務
器。。。。 深入, 深入。
操作系統?如果你從來沒有配置過NT 你怎么可能去進攻一個NT 服務器?你從來沒有用過
RDISK, 用戶管理器, 卻期望CRACK 一個ADMIN 的密碼,得到用戶權限?你
想使用RDS 而一切你在NT 下的操作你一直是使用圖形界面?再一次,你需要從管理員上升到一
個”超級管理員“。這里不是指你有一個超級用戶的權限。而是你的知識要貫穿你的所有領域。很
好, 你會在圖形界面下添加用戶,命令行方式怎么樣?而且,那些在 SYSTERM32 里的。EXE 文
件都是干什么的?你知道為什么USERNETCTL 必須要有超級用戶權限?你是不是從來沒有接觸過
USERNETCTL?深入, 深入。。。。
成為一個”百曉生“這是關鍵。不要以為知道如何作到就行了(騙老板可以,騙進攻
者??。。。)盡可能的知道越多越好。成為一個技術上的首腦。但是。。。。。。
-----------------------------------------------------------------------
你不可能知道所有的事情。
-----------------------------------------------------------------------
哎!這是生命中不得不面對的悲慘事實。不要以為你能。。。。如果你認為你可以。你在自欺欺
人。你需要做的是選擇一個領域。一個你最感興趣的領域。進一步的學習更多的知識。
成為一個用戶, 成為一個管理員,成為一個首腦。成為在某領域的最優秀的家伙(小伙,姑
娘) 不要僅僅學習如何使用WEB 瀏覽器,怎樣寫CGI 就行了。知道HTTP ,知道WEB 服務器是干
什么的,怎么干的。知道在那里找答案。知道當服務器不正常工作時應該怎樣讓他工作。
當你在你的領域內有一定經驗時,你自然就知道怎樣進攻了。
這其實是很簡單的道理。如果你知道所有的關于這里的知識,那么。你也知道安全隱患在那里。所
有的漏洞,新的,舊的,將來的,你自己就能夠發現未知的漏洞(你這時已經是一個網絡高手
了),你,找漏洞,是的,可以,但你必須了解你要找的一切先。
所以,放下你手中的WHISKER 的拷貝。去學習到底那些CGI 是干什么的。他們怎么使通過HTTP使
WEB 服務器有漏洞的?很快你就會知道到底WHISKER 是干什么的了。
-----------------------------------------------------------------------
編程語言。
-----------------------------------------------------------------------
一些最近我經常被問的問題中最常聽的問題就是我認為什么編程語言應該學:
我想這要根據一些具體情況。----大致上是你準備花費多少時間在上面,你想讓這個語言有多么
有用。一個程序要多長時間完成。和這個程序能完成多么復雜的事情。
以下有幾個選項(排列沒有什么意義)。
Visual Basic.
- 非常容易學習的語言。很多這方面的書,公開的免費原代碼也很多。你應該可以很快的使用他。
但是這個語言有一個限度。他并不是象 比如 c++ 一樣強大。你需要在WINDOWS 下運行他。需要
一個VB 的編程環境(不論盜版還是正版的 ,反正他不是免費的)。想用VB 來編攻擊代碼,或
補丁是十分困難的。
C++
- 也許是最強大的語言.在所有的操作系統里都有.在網上有上噸的原代碼和書是免費的。
,包括編程環境。比VB 要復雜一點。也許要掌握他花費的時間要比VB 要多一點。簡單的東西容易
學,干復雜的活的東西理解起來也要復雜一點。你自己衡量。
Assembly
- 最復雜的,也是最難學習的語言,如果你把他當作第一個你要學習的語言,那么將會難的你頭要
爆裂。但是,你先學了匯編,其余的還不是小菜
有一些書,這方面的教材有減少的趨勢。但是匯編知識對某些方面來說是致關緊要的。比如:緩沖
逸出。攻擊。很多這類的免費軟件。但從這個語言開始是十分*困難*。
Perl
- 一個很不錯的語言. 他象VB 一樣容易.學習他相應的容易一些.他也象VB一樣有限制,但是他在
多數操作平臺都能運行.(UNIX . 和WIN ).所以這是他的優勢.很多這方面的書. (O‘Reilly
‘Camel‘ books), 而且這個語言是完全免費的.你可以使用他來作一些普通的攻擊工具. 他主要
是作用于一些文本的技巧攻擊.不適合做二進制程序.
我想這是所有你想知道的. 有把握的說 C/C++是最佳選擇.
------------------------------------------------------------------------
推薦的書
-----------------------------------------------------------------------
另外一個問題是我推薦去讀什么書:
我個人手邊總是有以下的幾本書做參考:
Applied Cryptography (Bruce Scheiner)
Linux Application Development (Mike Johnson and Erik Troan)
Windows Assembly Language and Systems Programming (Barry Kauler)
Perl Cookbook (Tom Christiansen and Nathan Torkington) (O‘Reilly)
Linux Programmer‘s Reference (Richard Petersen) (Osborne)
All the O‘Reilly ‘Pocket Reference‘ books, which include vi, emacs,
python, perl, pl/sql, NT, javascript, sendmail, tcl/tk, perl/tk
我總是在這些書的一些基本的規則里思考.
我的心得,大部分 O‘Reilly 書耐讀.找一個你感興趣的領域專心去鉆研.
譯自 RFP Cceye注腳:既 .rain.forest.puppy. 也是我在 BUG trag 見到的最有影響力的發言
者. )原文在: http://cceye.iscool.net
[ 我寫這個并不是因為我已經厭倦了一遍又一遍的回答一樣的問題,而是考慮到這確實是一個有意
義的問題,其實很多人(90%)確實需要問這個問題而從來沒有去問.]
[ 這是一個可能經常更新的文檔 ]
我被問了很多次有關于很多領域的問題.
比如:什么編程語言你最推薦? 應該讀什么書作為開始?
總而言之,如何在安全領域內成為一個有影響的人.
既然我的答案和一般的答案有所不同,我打算把我的看法說出來.
-----------------------------------------------------------------------
從那里開始?
-----------------------------------------------------------------------
我的觀點可能和一般的看法十分的不一樣。如果你是剛剛起步,我建議你---*不要*以
Technotronic, Bugtraq,
Packetstorm, Rootshell (不知道這個是否還在運行?), 等等地方為開始。
沒錯!*不要*從那里開始。(盡管他們是很好的站點,而且這里沒有說你不要去訪問他們的站
點)。
原因十分簡單。如果你以為通曉“安全”就是知道最新的漏洞,你將會發現你自己一無所獲。
我同意,知道什么是好的,什么有漏洞是十分有必要的。但是這些并不能夠給你的高手之路打下堅
實的基礎知識。很好,你知道RDS 是最新的漏洞,你知道如何下載并使用利用這個漏洞的SCRIPT
工具。你知道如何修補這個漏洞(也許。很多人只知如何攻擊,不知道如何防護)3個月后,補丁
漫天飛舞。這個漏洞已經不存再了------現在你的那些知識還有什么用?而且還不算你可能根本
沒有理解漏洞的分析。
你的知識是什么? 分析?還是攻擊手段?
這是我想要再一次強調的。人們可能沒有注意,已經有很多人認為只要他們知道最新的漏洞他們就
是安全專家。NO! NO ! NO!所有他們知道的只不過是“漏洞”,而*不是* “安全”。
例如:你知道有關于PHF 的漏洞,SHOWCODE。ASP 的漏洞。 COUNT。CGI 和TEST-CGI 的漏洞。
但是你知道為什么他們會成為CGI 的漏洞嗎?你知道如何編一個安全的通用網關嗎?你會根據一
個CGI 的工作狀態來判斷他可能有哪些漏洞或那方面的漏洞嗎?或者,你是不是只知道這些CGI
有漏洞呢?
所以我建議你*不要*從漏洞開始。就當他們不存在(你知道我的意思)。你真正需要做的是從一個
普通用戶開始。
-----------------------------------------------------------------------
做一個用戶。
-----------------------------------------------------------------------
我的意思是你至少要有一個基本的常規的知識。例如:如果你要從事 WEB HACKING 你是否可能連
瀏覽器都不會使用?你會打開NETSCAPE , 打開IE? 很好!你會輸入姓名。你知道 。HTML 是
網頁。 很好。。。你要一直這樣下去,變成一個熟練的用戶。你會區別ASP 和CGI 是動態的。
什么是PHP ? 什么是轉向?COOKIE? SSL?你要知道任何一個普通用戶可能接觸到的關于WEB
的事物。
不是進攻漏洞,僅僅是使用。沒有基礎的(也許是枯燥的)的這些東西你不可能成為高手++。
這里沒有任何捷徑。
好, 現在你知道這里的一切了, 你用過了。在你HACK UNIX 之前你至少要知道如何LOGIN 。
LOGOUT 。 使用 SHELL COMMAND 。 使用一般的常用的程序。 ( MAIL , FTP ,WEB 。
LYNX 。 等等)。 你要想成為一個管理員,你要知道基本的操作。
-----------------------------------------------------------------------
成為一個管理員。
-----------------------------------------------------------------------
現在你已經超過了一個普通用戶的領域了。進入了更復雜的領域。你要掌握更多的東西。
例如:WEB 服務器的類型。和其他的有什么區別?如何去配置他。想這樣的知識你知道的越多意
味著你更了解他是如何工作的。他是干什么的。你理解HTTP 協議嗎?你知道HTTP 1。0 和
HTTP1。1 之間的區別嗎?WEBDAV 是什么?知道HTTP1。1 虛擬主機有助于你建立你的WEB 服務
器。。。。 深入, 深入。
操作系統?如果你從來沒有配置過NT 你怎么可能去進攻一個NT 服務器?你從來沒有用過
RDISK, 用戶管理器, 卻期望CRACK 一個ADMIN 的密碼,得到用戶權限?你
想使用RDS 而一切你在NT 下的操作你一直是使用圖形界面?再一次,你需要從管理員上升到一
個”超級管理員“。這里不是指你有一個超級用戶的權限。而是你的知識要貫穿你的所有領域。很
好, 你會在圖形界面下添加用戶,命令行方式怎么樣?而且,那些在 SYSTERM32 里的。EXE 文
件都是干什么的?你知道為什么USERNETCTL 必須要有超級用戶權限?你是不是從來沒有接觸過
USERNETCTL?深入, 深入。。。。
成為一個”百曉生“這是關鍵。不要以為知道如何作到就行了(騙老板可以,騙進攻
者??。。。)盡可能的知道越多越好。成為一個技術上的首腦。但是。。。。。。
-----------------------------------------------------------------------
你不可能知道所有的事情。
-----------------------------------------------------------------------
哎!這是生命中不得不面對的悲慘事實。不要以為你能。。。。如果你認為你可以。你在自欺欺
人。你需要做的是選擇一個領域。一個你最感興趣的領域。進一步的學習更多的知識。
成為一個用戶, 成為一個管理員,成為一個首腦。成為在某領域的最優秀的家伙(小伙,姑
娘) 不要僅僅學習如何使用WEB 瀏覽器,怎樣寫CGI 就行了。知道HTTP ,知道WEB 服務器是干
什么的,怎么干的。知道在那里找答案。知道當服務器不正常工作時應該怎樣讓他工作。
當你在你的領域內有一定經驗時,你自然就知道怎樣進攻了。
這其實是很簡單的道理。如果你知道所有的關于這里的知識,那么。你也知道安全隱患在那里。所
有的漏洞,新的,舊的,將來的,你自己就能夠發現未知的漏洞(你這時已經是一個網絡高手
了),你,找漏洞,是的,可以,但你必須了解你要找的一切先。
所以,放下你手中的WHISKER 的拷貝。去學習到底那些CGI 是干什么的。他們怎么使通過HTTP使
WEB 服務器有漏洞的?很快你就會知道到底WHISKER 是干什么的了。
-----------------------------------------------------------------------
編程語言。
-----------------------------------------------------------------------
一些最近我經常被問的問題中最常聽的問題就是我認為什么編程語言應該學:
我想這要根據一些具體情況。----大致上是你準備花費多少時間在上面,你想讓這個語言有多么
有用。一個程序要多長時間完成。和這個程序能完成多么復雜的事情。
以下有幾個選項(排列沒有什么意義)。
Visual Basic.
- 非常容易學習的語言。很多這方面的書,公開的免費原代碼也很多。你應該可以很快的使用他。
但是這個語言有一個限度。他并不是象 比如 c++ 一樣強大。你需要在WINDOWS 下運行他。需要
一個VB 的編程環境(不論盜版還是正版的 ,反正他不是免費的)。想用VB 來編攻擊代碼,或
補丁是十分困難的。
C++
- 也許是最強大的語言.在所有的操作系統里都有.在網上有上噸的原代碼和書是免費的。
,包括編程環境。比VB 要復雜一點。也許要掌握他花費的時間要比VB 要多一點。簡單的東西容易
學,干復雜的活的東西理解起來也要復雜一點。你自己衡量。
Assembly
- 最復雜的,也是最難學習的語言,如果你把他當作第一個你要學習的語言,那么將會難的你頭要
爆裂。但是,你先學了匯編,其余的還不是小菜
有一些書,這方面的教材有減少的趨勢。但是匯編知識對某些方面來說是致關緊要的。比如:緩沖
逸出。攻擊。很多這類的免費軟件。但從這個語言開始是十分*困難*。
Perl
- 一個很不錯的語言. 他象VB 一樣容易.學習他相應的容易一些.他也象VB一樣有限制,但是他在
多數操作平臺都能運行.(UNIX . 和WIN ).所以這是他的優勢.很多這方面的書. (O‘Reilly
‘Camel‘ books), 而且這個語言是完全免費的.你可以使用他來作一些普通的攻擊工具. 他主要
是作用于一些文本的技巧攻擊.不適合做二進制程序.
我想這是所有你想知道的. 有把握的說 C/C++是最佳選擇.
------------------------------------------------------------------------
推薦的書
-----------------------------------------------------------------------
另外一個問題是我推薦去讀什么書:
我個人手邊總是有以下的幾本書做參考:
Applied Cryptography (Bruce Scheiner)
Linux Application Development (Mike Johnson and Erik Troan)
Windows Assembly Language and Systems Programming (Barry Kauler)
Perl Cookbook (Tom Christiansen and Nathan Torkington) (O‘Reilly)
Linux Programmer‘s Reference (Richard Petersen) (Osborne)
All the O‘Reilly ‘Pocket Reference‘ books, which include vi, emacs,
python, perl, pl/sql, NT, javascript, sendmail, tcl/tk, perl/tk
我總是在這些書的一些基本的規則里思考.
我的心得,大部分 O‘Reilly 書耐讀.找一個你感興趣的領域專心去鉆研.
這些代碼都是真實存在的漏洞代碼,我想把他們收集起來,漏洞代碼看多了勢必提高自己的漏洞識別能力.至少當拿到一個待分析的程序時知道那些地方會出問題,從而有目的性的讀.
1雞肋的注入
現在PHP程序能直接注入的情況已經很少了,即使你按默認安裝PHP,MAGIC就是打開的,這樣提交的單引
號就會被轉義成\’,這樣就無法閉合單引號,也就不存在后面的查詢,現在有好多程序都存在這種情況
,舉個例子:
if($_GET[’x’] == "") {
if($_GET[’showimage’] == "") {
$row = sql_array("select * from ".$pixelpost_db_prefix."pixelpost where
datetime〈=’$cdate’ order by datetime DESC limit 0,1");
} else {
$row = sql_array("select * from ".$pixelpost_db_prefix."pixelpost where
(id=’".$_GET[’showimage’]."’)");
}
這樣寫程序的現在很多見的,說他是個漏洞,可利用價值很低;說他不是漏洞,可理論上確實存在注入
,很有點雞肋的感覺,其實只需這樣寫就天下太平了:
$row = sql_array("select * from ".$pixelpost_db_prefix."pixelpost where (intval
(id=’".$_GET[’showimage’]."’))");
2跨站的問題
出現跨站漏洞的代碼多種多樣,今天看到了一種就記錄下來
$message = isset($_POST[’message’]) ? $_POST[’message’] : "";
if (eregi("\r",$message) || eregi("\n",$message)){ die("No
intrusion! ?? :(");}
$message = clean(nl2br($message),’html’);
$name = isset($_POST[’name’]) ? $_POST[’name’] : "";
if (eregi("\r",$name) || eregi("\n",$name)){ die("No intrusion! ??
:(");}
$name = clean($name,’html’);
$url = isset($_POST[’url’]) ? $_POST[’url’] : "";
if (eregi("\r",$url) || eregi("\n",$url)){ die("No intrusion! ??
:(");}
$url = clean($url,’html’);
$parent_name = isset($_POST[’parent_name’]) ? $_POST[’parent_name’]
: "";
if (eregi("\r",$parent_name) || eregi("\n",$parent_name)){ die("No
intrusion! ?? :(");}
$parent_name = clean($parent_name);
$email = isset($_POST[’email’]) ? $_POST[’email’] : "";
if (eregi("\r",$email) || eregi("\n",$email)){ die("No intrusion!
?? :(");}
$email = clean($email,’html’);
if(($parent_id != "") and ($message != "")) $query = "Insert INTO
".$pixelpost_db_prefix."comments(id,parent_id,datetime,ip,message,name,url,email)
VALUES(’NULL’,’$parent_id’,’$datetime’,’$ip’,’$message’,’$name’,’$url’,’$email’)";
$result = mysql_query($query);
clean()函數并不是過濾用的,以上程序只是用了個3元判斷是否有$_POST[$var],如果有就賦值,然
后就提交到數據庫里了。
修補方法也很簡單,可以用PHP自帶的htmlspecialchars函數過濾掉HTML實體或者自己寫過濾函數:
function dangerchr($var){
$var = str_replace("\t","",$msg);
$var = str_replace("〈","〈",$msg);
$var = str_replace("〉","〉",$msg);
$var = str_replace("\r","",$msg);
$var = str_replace("\n","〈br /〉",$msg);
$var = str_replace(" "," ",$msg);
}------來自PW的
3目錄遍歷漏洞:
這類漏洞一般會出現在一些比較簡單的留言日記類程序或者郵件列表程序中。
Simplog是國外的一款基于PHP的日記程序。該程序中就出現了目錄遍歷漏洞
漏洞代碼如下:
〈?
$act = $_GET[’act’];
if ($act == ’’)
{
include("blog.txt");
}
else
{
include("act/$act.txt");
}
?〉
〈?
$blog_id = $_GET[’blogid’];
if ($blog_id == ’’)
{
include("blog.txt");
}
else
{
include("./blog_entries/$blog_id.txt");
}
?〉
從上面的代碼可以清晰的看出問題所在,第一段程序獲得$_GET[]提交的數據并賦值給$act,這里沒有對
act做任何的過濾,而在后面判斷如果變量為空就把blog.txt包含進來,如果不為空就包含act目錄下的
$act.txt文件,這樣當我們不管提交什么文件類型都會被加上.txt后綴,再加上我們可以用../來跳轉到別的
目錄,就可以遍歷整個服務器上的文件了。第2段程序也是同樣的漏洞,只不過變量變成數字型了,我們
一樣可以構造類似于index.php?act=blog&blogid=../config.php這樣的URL來讀取敏感文件內容。
修補方法很簡單,對于數字形的只需用intval()函數來把ID強制整形化就可以了,對于字符形的可以
用類似的代碼來過濾$act = str_replace("../","",$act),當然這樣寫是不全面的,如有需要可以自定
義一個過濾的函數,把危險字符都替換掉。
1雞肋的注入
現在PHP程序能直接注入的情況已經很少了,即使你按默認安裝PHP,MAGIC就是打開的,這樣提交的單引
號就會被轉義成\’,這樣就無法閉合單引號,也就不存在后面的查詢,現在有好多程序都存在這種情況
,舉個例子:
if($_GET[’x’] == "") {
if($_GET[’showimage’] == "") {
$row = sql_array("select * from ".$pixelpost_db_prefix."pixelpost where
datetime〈=’$cdate’ order by datetime DESC limit 0,1");
} else {
$row = sql_array("select * from ".$pixelpost_db_prefix."pixelpost where
(id=’".$_GET[’showimage’]."’)");
}
這樣寫程序的現在很多見的,說他是個漏洞,可利用價值很低;說他不是漏洞,可理論上確實存在注入
,很有點雞肋的感覺,其實只需這樣寫就天下太平了:
$row = sql_array("select * from ".$pixelpost_db_prefix."pixelpost where (intval
(id=’".$_GET[’showimage’]."’))");
2跨站的問題
出現跨站漏洞的代碼多種多樣,今天看到了一種就記錄下來
$message = isset($_POST[’message’]) ? $_POST[’message’] : "";
if (eregi("\r",$message) || eregi("\n",$message)){ die("No
intrusion! ?? :(");}
$message = clean(nl2br($message),’html’);
$name = isset($_POST[’name’]) ? $_POST[’name’] : "";
if (eregi("\r",$name) || eregi("\n",$name)){ die("No intrusion! ??
:(");}
$name = clean($name,’html’);
$url = isset($_POST[’url’]) ? $_POST[’url’] : "";
if (eregi("\r",$url) || eregi("\n",$url)){ die("No intrusion! ??
:(");}
$url = clean($url,’html’);
$parent_name = isset($_POST[’parent_name’]) ? $_POST[’parent_name’]
: "";
if (eregi("\r",$parent_name) || eregi("\n",$parent_name)){ die("No
intrusion! ?? :(");}
$parent_name = clean($parent_name);
$email = isset($_POST[’email’]) ? $_POST[’email’] : "";
if (eregi("\r",$email) || eregi("\n",$email)){ die("No intrusion!
?? :(");}
$email = clean($email,’html’);
if(($parent_id != "") and ($message != "")) $query = "Insert INTO
".$pixelpost_db_prefix."comments(id,parent_id,datetime,ip,message,name,url,email)
VALUES(’NULL’,’$parent_id’,’$datetime’,’$ip’,’$message’,’$name’,’$url’,’$email’)";
$result = mysql_query($query);
clean()函數并不是過濾用的,以上程序只是用了個3元判斷是否有$_POST[$var],如果有就賦值,然
后就提交到數據庫里了。
修補方法也很簡單,可以用PHP自帶的htmlspecialchars函數過濾掉HTML實體或者自己寫過濾函數:
function dangerchr($var){
$var = str_replace("\t","",$msg);
$var = str_replace("〈","〈",$msg);
$var = str_replace("〉","〉",$msg);
$var = str_replace("\r","",$msg);
$var = str_replace("\n","〈br /〉",$msg);
$var = str_replace(" "," ",$msg);
}------來自PW的
3目錄遍歷漏洞:
這類漏洞一般會出現在一些比較簡單的留言日記類程序或者郵件列表程序中。
Simplog是國外的一款基于PHP的日記程序。該程序中就出現了目錄遍歷漏洞
漏洞代碼如下:
〈?
$act = $_GET[’act’];
if ($act == ’’)
{
include("blog.txt");
}
else
{
include("act/$act.txt");
}
?〉
〈?
$blog_id = $_GET[’blogid’];
if ($blog_id == ’’)
{
include("blog.txt");
}
else
{
include("./blog_entries/$blog_id.txt");
}
?〉
從上面的代碼可以清晰的看出問題所在,第一段程序獲得$_GET[]提交的數據并賦值給$act,這里沒有對
act做任何的過濾,而在后面判斷如果變量為空就把blog.txt包含進來,如果不為空就包含act目錄下的
$act.txt文件,這樣當我們不管提交什么文件類型都會被加上.txt后綴,再加上我們可以用../來跳轉到別的
目錄,就可以遍歷整個服務器上的文件了。第2段程序也是同樣的漏洞,只不過變量變成數字型了,我們
一樣可以構造類似于index.php?act=blog&blogid=../config.php這樣的URL來讀取敏感文件內容。
修補方法很簡單,對于數字形的只需用intval()函數來把ID強制整形化就可以了,對于字符形的可以
用類似的代碼來過濾$act = str_replace("../","",$act),當然這樣寫是不全面的,如有需要可以自定
義一個過濾的函數,把危險字符都替換掉。

