常見的作業系統漏洞及解決方法

General 更新 2024年12月27日

  作業系統功能強大,但同樣也會有漏洞會被病毒利用。下面由小編整理了,希望對你有幫助。

  

  常見的作業系統漏洞一、SQL注入漏洞

  SQL注入攻擊***SQL Injection***,簡稱注入攻擊、SQL注入,被廣泛用於非法獲取網站控制權,是發生在應用程式的資料庫層上的安全漏洞。在設計程式,忽略了對輸入字串中夾帶的SQL指令的檢查,被資料庫誤認為是正常的SQL指令而執行,從而使資料庫受到攻擊,可能導致資料被竊取、更改、刪除,以及進一步導致網站被嵌入惡意程式碼、被植入後門程式等危害。

  通常情況下,SQL注入的位置包括:

  ***1***表單提交,主要是POST請求,也包括GET請求;

  ***2***URL引數提交,主要為GET請求引數;

  ***3***Cookie引數提交;

  ***4***HTTP請求頭部的一些可修改的值,比如Referer、User_Agent等;

  ***5***一些邊緣的輸入點,比如.mp3檔案的一些檔案資訊等。

  SQL注入的危害不僅體現在資料庫層面上,還有可能危及承載資料庫的作業系統;如果SQL注入被用來掛馬,還可能用來傳播惡意軟體等,這些危害包括但不侷限於:

  ***1***資料庫資訊洩漏:資料庫中存放的使用者的隱私資訊的洩露。作為資料的儲存中心,資料庫裡往往儲存著各類的隱私資訊,SQL注入攻擊能導致這些隱私資訊透明於攻擊者。

  ***2***網頁篡改:通過操作資料庫對特定網頁進行篡改。

  ***3***網站被掛馬,傳播惡意軟體:修改資料庫一些欄位的值,嵌入網馬連結,進行掛馬攻擊。

  ***4***資料庫被惡意操作:資料庫伺服器被攻擊,資料庫的系統管理員帳戶被篡改。

  ***5***伺服器被遠端控制,被安裝後門。經由資料庫伺服器提供的作業系統支援,讓黑客得以修改或控制作業系統。

  ***6***破壞硬碟資料,癱瘓全系統。

  解決SQL注入問題的關鍵是對所有可能來自使用者輸入的資料進行嚴格的檢查、對資料庫配置使用最小許可權原則。 通常使用的方案有:

  ***1***所有的查詢語句都使用資料庫提供的引數化查詢介面,引數化的語句使用引數而不是將使用者輸入變數嵌入到SQL語句中。當前幾乎所有的資料庫系統都提供了引數化SQL語句執行介面,使用此介面可以非常有效的防止SQL注入攻擊。

  ***2***對進入資料庫的特殊字元***'"\<>&*;等***進行轉義處理,或編碼轉換。

  ***3***確認每種資料的型別,比如數字型的資料就必須是數字,資料庫中的儲存欄位必須對應為int型。

  ***4***資料長度應該嚴格規定,能在一定程度上防止比較長的SQL注入語句無法正確執行。

  ***5***網站每個資料層的編碼統一,建議全部使用UTF-8編碼,上下層編碼不一致有可能導致一些過濾模型被繞過。

  ***6***嚴格限制網站使用者的資料庫的操作許可權,給此使用者提供僅僅能夠滿足其工作的許可權,從而最大限度的減少注入攻擊對資料庫的危害。

  ***7***避免網站顯示SQL錯誤資訊,比如型別錯誤、欄位不匹配等,防止攻擊者利用這些錯誤資訊進行一些判斷。

  ***8***在網站釋出之前建議使用一些專業的SQL注入檢測工具進行檢測,及時修補這些SQL注入漏洞。

  常見的作業系統漏洞二、跨站指令碼漏洞

  跨站指令碼攻擊***Cross-site scripting,通常簡稱為XSS***發生在客戶端,可被用於進行竊取隱私、釣魚欺騙、竊取密碼、傳播惡意程式碼等攻擊。

  XSS攻擊使用到的技術主要為HTML和Javascript,也包括VBScript和ActionScript等。XSS攻擊對WEB伺服器雖無直接危害,但是它藉助網站進行傳播,使網站的使用使用者受到攻擊,導致網站使用者帳號被竊取,從而對網站也產生了較嚴重的危害。

  XSS型別包括:

  ***1***非持久型跨站:即反射型跨站指令碼漏洞,是目前最普遍的跨站型別。跨站程式碼一般存在於連結中,請求這樣的連結時,跨站程式碼經過服務端反射回來,這類跨站的程式碼不儲存到服務端***比如資料庫中***。上面章節所舉的例子就是這類情況。

  ***2***持久型跨站:這是危害最直接的跨站型別,跨站程式碼儲存於服務端***比如資料庫中***。常見情況是某使用者在論壇發貼,如果論壇沒有過濾使用者輸入的Javascript程式碼資料,就會導致其他瀏覽此貼的使用者的瀏覽器會執行發貼人所嵌入的Javascript程式碼。

  ***3***DOM跨站***DOM XSS***:是一種發生在客戶端DOM***Document Object Model文件物件模型***中的跨站漏洞,很大原因是因為客戶端指令碼處理邏輯導致的安全問題。

  XSS的危害包括:

  ***1***釣魚欺騙:最典型的就是利用目標網站的反射型跨站指令碼漏洞將目標網站重定向到釣魚網站,或者注入釣魚JavaScript以監控目標網站的表單輸入,甚至發起基於DHTML更高階的釣魚攻擊方式。

  ***2***網站掛馬:跨站時利用IFrame嵌入隱藏的惡意網站或者將被攻擊者定向到惡意網站上,或者彈出惡意網站視窗等方式都可以進行掛馬攻擊。

  ***3***身份盜用:Cookie是使用者對於特定網站的身份驗證標誌,XSS可以盜取到使用者的Cookie,從而利用該Cookie盜取使用者對該網站的操作許可權。如果一個網站管理員使用者Cookie被竊取,將會對網站引發巨大的危害。

  ***4***盜取網站使用者資訊:當能夠竊取到使用者Cookie從而獲取到使用者身份使,攻擊者可以獲取到使用者對網站的操作許可權,從而檢視使用者隱私資訊。

  ***5***垃圾資訊傳送:比如在SNS社群中,利用XSS漏洞借用被攻擊者的身份傳送大量的垃圾資訊給特定的目標群。

  ***6***劫持使用者Web行為:一些高階的XSS攻擊甚至可以劫持使用者的Web行為,監視使用者的瀏覽歷史,傳送與接收的資料等等。

  ***7***XSS蠕蟲:XSS 蠕蟲可以用來打廣告、刷流量、掛馬、惡作劇、破壞網上資料、實施DDoS攻擊等。

  常用的防止XSS技術包括:

  ***1***與SQL注入防護的建議一樣,假定所有輸入都是可疑的,必須對所有輸入中的script、iframe等字樣進行嚴格的檢查。這裡的輸入不僅僅是使用者可以直接互動的輸入介面,也包括HTTP請求中的Cookie中的變數,HTTP請求頭部中的變數等。

  ***2***不僅要驗證資料的型別,還要驗證其格式、長度、範圍和內容。

  ***3***不要僅僅在客戶端做資料的驗證與過濾,關鍵的過濾步驟在服務端進行。

  ***4***對輸出的資料也要檢查,資料庫裡的值有可能會在一個大網站的多處都有輸出,即使在輸入做了編碼等操作,在各處的輸出點時也要進行安全檢查。

  ***5***在釋出應用程式之前測試所有已知的威脅。

  常見的作業系統漏洞三、弱口令漏洞

  弱口令***weak password*** 沒有嚴格和準確的定義,通常認為容易被別人***他們有可能對你很瞭解***猜測到或被破解工具破解的口令均為弱口令。設定密碼通常遵循以下原則:

  ***1***不使用空口令或系統預設的口令,這些口令眾所周之,為典型的弱口令。

  ***2***口令長度不小於8個字元。

  ***3***口令不應該為連續的某個字元***例如:AAAAAAAA***或重複某些字元的組合***例如:tzf.tzf.***。

  ***4***口令應該為以下四類字元的組合,大寫字母***A-Z***、小寫字母***a-z***、數字***0-9***和特殊字元。每類字元至少包含一個。如果某類字元只包含一個,那麼該字元不應為首字元或尾字元。

  ***5***口令中不應包含本人、父母、子女和配偶的姓名和出生日期、紀念日期、登入名、E-mail地址等等與本人有關的資訊,以及字典中的單詞。

  ***6***口令不應該為用數字或符號代替某些字母的單詞。

  ***7***口令應該易記且可以快速輸入,防止他人從你身後很容易看到你的輸入。

  ***8***至少90天內更換一次口令,防止未被發現的入侵者繼續使用該口令。

  常見的作業系統漏洞四、HTTP報頭追蹤漏洞

  HTTP/1.1***RFC2616***規範定義了HTTP TRACE方法,主要是用於客戶端通過向Web伺服器提交TRACE請求來進行測試或獲得診斷資訊。當Web伺服器啟用TRACE時,提交的請求頭會在伺服器響應的內容***Body***中完整的返回,其中HTTP頭很可能包括Session Token、Cookies或其它認證資訊。攻擊者可以利用此漏洞來欺騙合法使用者並得到他們的私人資訊。該漏洞往往與其它方式配合來進行有效攻擊,由於HTTP TRACE請求可以通過客戶瀏覽器指令碼發起***如XMLHttpRequest***,並可以通過DOM介面來訪問,因此很容易被攻擊者利用。

  防禦HTTP報頭追蹤漏洞的方法通常禁用HTTP TRACE方法。

  常見的作業系統漏洞五、Struts2遠端命令執行漏洞

  Apache Struts是一款建立Java web應用程式的開放原始碼架構。Apache Struts存在一個輸入過濾錯誤,如果遇到轉換錯誤可被利用注入和執行任意Java程式碼。

  網站存在遠端程式碼執行漏洞的大部分原因是由於網站採用了Apache Struts Xwork作為網站應用框架,由於該軟體存在遠端程式碼執高危漏洞,導致網站面臨安全風險。CNVD處置過諸多此類漏洞,例如:“GPS車載衛星定位系統”網站存在遠端命令執行漏洞***CNVD-2012-13934***;Aspcms留言本遠端程式碼執行漏洞***CNVD-2012-11590***等。

  修復此類漏洞,只需到Apache官網升級Apache Struts到最新版本:

  常見的作業系統漏洞六、框架釣魚漏洞***框架注入漏洞***

  框架注入攻擊是針對Internet Explorer 5、Internet Explorer 6、與 Internet Explorer 7攻擊的一種。這種攻擊導致Internet Explorer不檢查結果框架的目的網站,因而允許任意程式碼像Javascript或者VBScript跨框架存取。這種攻擊也發生在程式碼透過多框架注入,肇因於指令碼並不確認來自多框架的輸入。這種其他形式的框架注入會影響所有的不確認不受信任輸入的各廠商瀏覽器和指令碼。

  如果應用程式不要求不同的框架互相通訊,就可以通過完全刪除框架名稱、使用匿名框架防止框架注入。但是,因為應用程式通常都要求框架之間相互通訊,因此這種方法並不可行。 因此,通常使用命名框架,但在每個會話中使用不同的框架,並且使用無法預測的名稱。一種可行的方法是在每個基本的框架名稱後附加使用者的會話令牌,如main_display。

  常見的作業系統漏洞七、檔案上傳漏洞

  檔案上傳漏洞通常由於網頁程式碼中的檔案上傳路徑變數過濾不嚴造成的,如果檔案上傳功能實現程式碼沒有嚴格限制使用者上傳的檔案字尾以及檔案型別,攻擊者可通過 Web 訪問的目錄上傳任意檔案,包括網站後門檔案***webshell***,進而遠端控制網站伺服器。

  因此,在開發網站及應用程式過程中,需嚴格限制和校驗上傳的檔案,禁止上傳惡意程式碼的檔案。同時限制相關目錄的執行許可權,防範webshell攻擊。

  常見的作業系統漏洞八、應用程式測試指令碼洩露

  由於測試指令碼對提交的引數資料缺少充分過濾,遠端攻擊者可以利用洞以WEB程序許可權在系統上檢視任意檔案內容。防禦此類漏洞通常需嚴格過濾提交的資料,有效檢測攻擊。

  常見的作業系統漏洞九、私有IP地址洩露漏洞

  IP地址是網路使用者的重要標示,是攻擊者進行攻擊前需要了解的。獲取的方法較多,攻擊者也會因不同的網路情況採取不同的方法,如:在區域網內使用Ping指令,Ping對方在網路中的名稱而獲得IP;在Internet上使用IP版的QQ直接顯示。最有效的辦法是截獲並分析對方的網路資料包。攻擊者可以找到並直接通過軟體解析截獲後的資料包的IP包頭資訊,再根據這些資訊瞭解具體的IP。

  針對最有效的“資料包分析方法”而言,就可以安裝能夠自動去掉髮送資料包包頭IP資訊的一些軟體。不過使用這些軟體有些缺點,譬如:耗費資源嚴重,降低計算機效能;訪問一些論壇或者網站時會受影響;不適合網咖使用者使用等等。現在的個人使用者採用最普及隱藏IP的方法應該是使用代理,由於使用代理伺服器後,“轉址服務”會對傳送出去的資料包有所修改,致使“資料包分析”的方法失效。一些容易洩漏使用者IP的網路軟體***QQ、MSN、IE等***都支援使用代理方式連線Internet,特別是QQ使用“ezProxy”等代理軟體連線後,IP版的QQ都無法顯示該IP地址。雖然代理可以有效地隱藏使用者IP,但攻擊者亦可以繞過代理,查詢到對方的真實IP地址,使用者在何種情況下使用何種方法隱藏IP,也要因情況而論。

  常見的作業系統漏洞十、未加密登入請求

  由於Web配置不安全,登陸請求把諸如使用者名稱和密碼等敏感欄位未加密進行傳輸,攻擊者可以竊聽網路以劫獲這些敏感資訊。建議進行例如SSH等的加密後再傳輸。

  常見的作業系統漏洞十一、敏感資訊洩露漏洞

  SQL注入、XSS、目錄遍歷、弱口令等均可導致敏感資訊洩露,攻擊者可以通過漏洞獲得敏感資訊。針對不同成因,防禦方式不同。

電腦光碟機有哪些常見故障
分時作業系統和實時作業系統
相關知識
常見的作業系統漏洞及解決方法
常見的作業系統漏洞有哪些怎麼解決
常見藍屏程式碼大全及解決方法
膝上型電腦重灌系統有什麼解決方法
電腦重啟後進不了系統有什麼解決方法
電腦自動重啟的故障原因分析及解決方法
如何看電腦的作業系統
電腦中的作業系統有哪些
如何看電腦的作業系統位數
檢視電腦是多少位的作業系統方法