當前位置:首頁 » 網頁前端 » web前端開發常見安全漏洞
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web前端開發常見安全漏洞

發布時間: 2022-11-06 09:11:26

A. xss漏洞類型有哪些

大家好,大家經常聽到XSS攻擊這個詞,那麼XSS攻擊到底是什麼,以及如何防禦XSS攻擊大家清楚么?今天,天下數據就給大家講一下:XSS攻擊的定義、類型以及防禦方法。
什麼是XSS攻擊?
XSS攻擊全稱跨站腳本攻擊,是一種在web應用中的計算機安全漏洞,它允許惡意web用戶將代碼植入到提供給其它用戶使用的頁面中。
XSS攻擊有哪幾種類型?
常見的 XSS 攻擊有三種:反射型XSS攻擊、DOM-based 型XXS攻擊以及存儲型XSS攻擊。
1.反射型XSS攻擊
反射型 XSS 一般是攻擊者通過特定手法(如電子郵件),誘使用戶去訪問一個包含惡意代碼的 URL,當受害者點擊這些專門設計的鏈接的時候,惡意代碼會直接在受害者主機上的瀏覽器執行。反射型XSS通常出現在網站的搜索欄、用戶登錄口等地方,常用來竊取客戶端 Cookies 或進行釣魚欺騙。
2.存儲型XSS攻擊
也叫持久型XSS,主要將XSS代碼提交存儲在伺服器端(資料庫,內存,文件系統等),下次請求目標頁面時不用再提交XSS代碼。當目標用戶訪問該頁面獲取數據時,XSS代碼會從伺服器解析之後載入出來,返回到瀏覽器做正常的HTML和JS解析執行,XSS攻擊就發生了。存儲型 XSS 一般出現在網站留言、評論、博客日誌等交互處,惡意腳本存儲到客戶端或者服務端的資料庫中。
3.DOM-based 型XSS攻擊
基於 DOM 的 XSS 攻擊是指通過惡意腳本修改頁面的 DOM 結構,是純粹發生在客戶端的攻擊。DOM 型 XSS 攻擊中,取出和執行惡意代碼由瀏覽器端完成,屬於前端 JavaScript 自身的安全漏洞。
如何防禦XSS攻擊?
1. 對輸入內容的特定字元進行編碼,例如表示 html標記的 < > 等符號。
2. 對重要的 cookie設置 httpOnly, 防止客戶端通過document.cookie讀取 cookie,此 HTTP頭由服務端設置。
3. 將不可信的值輸出 URL參數之前,進行 URLEncode操作,而對於從 URL參數中獲取值一定要進行格式檢測(比如你需要的時URL,就判讀是否滿足URL格式)。
4. 不要使用 Eval來解析並運行不確定的數據或代碼,對於 JSON解析請使用 JSON.parse() 方法。
5. 後端介面也應該要做到關鍵字元過濾的問題。
以上,是天下數據給大家分享的關於XSS攻擊的全部內容,大家記得收藏方便以後查看哦。
如今,各種類型網路攻擊日益頻繁,除了XSS攻擊之外,比較常見的網路攻擊類型還包括DDoS攻擊、CC攻擊等,它們非常難以防禦,除了需要做好日常網路安全防護之外,還需要接入高防服務,可以接入天下數據高防cdn,通過天下數據高防cdn隱藏源IP,對攻擊流量進行清洗,保障企業網路及業務的正常運行。

B. 前端開發時遇到過什麼坑尤其是webapp開發時

過去,應用開發需要注重大量的專業知識,程序員只需關注單一的語言(比如COBOL、RPG、C++等),並利用該語言創建應用。Web不再是單單關注獨立的一面。相反,一個現代化的Web應用開發者應該是「樣樣精通」。他們不僅要理解開發方面還要明白Web應用安全漏洞問題,了解如何與其他設備集成在一起等等。往深了說,他們還需要了解這些應用程序是如何運行在平板電腦和智能手機上的。
換句話說,Web應用開發正變得更加復雜化。它迫切需要一個不斷增加以及不斷發展的配套技能。
掌握六大技能後,估計Web應用開發時候就會避免一些坑。
1. 安全

過去,企業在內部安裝應用,基於防火牆背後的應用無法與第三方服務或應用進行通信。而隨著軟體的發展,現代Web應用能夠與其他設備進行集成,並存儲在雲伺服器上或者訪問多種類型設備。因此,安全問題顯得尤為重要。
「作為一名應用開發者(web/desktop),深入理解應用程序的安全性是最為重要的技能之一。」Veracode首席安全顧問Stephen Jensen說道,「在當今世界,有關安全問題的新聞不絕於耳,大多數是揭露數以百萬計的人們的敏感信息。因此,Web應用開發者必須知道如何預防常見的漏洞,比如Cross-Site Scripting (XSS),sql注入等。為了確保應用在創建過程中免受安全問題的惡意攻擊,同時也為了保護用戶潛在的敏感信息問題,這也是所有開發者應當學習的必備基礎技能。」
2. 用戶體驗(UX)設計
「隨著移動設備用戶需求量的不斷增加,開發者需要充分理解用戶體驗設計顯得愈發重要。」Raster Media CEO Michael Smith說,「設計團隊單獨負責某款應用的用戶體驗的日子已經一去不復返了。開發者必須考慮互動、動畫、速度以及各個APP之間的通信等問題。」

我完全贊同這一觀點。用戶體驗設計有幾大重要因素,首先,用戶的期望有所上升。用戶下載一款新的應用,他們想立即知道它是如何運行的。他們希望從業務應用中獲取相同的體驗。其次,用戶有選擇的餘地。如果不喜歡這款應用,他們會尋找另一款代替。由於用戶的期望值增加以及競爭的加劇,更為直觀的界面需求比以往顯得更加重要。
3. 自適應/響應式設計

談及UX設計,Web App開發者必須建立可隨處運行的應用程序。現在的問題不再是「用戶如何與我的應用進行交互?」而是演變成「用戶與我的應用如何在每款設備類型上進行交互?」
想要做到這一點並不容易。你必須回答以下這些問題:「智能手機上的按鈕設置在哪裡?你如何在小屏幕上格式化數據表?當設備從人像模式切換至風景模式會發生什麼?」總之,Web開發者必須知道讓Web應用適應不同屏幕大小的方法。
針對跨平台/設備,響應式設計和自適應設計主要兩大方法:
響應式設計使用流體網格以及CSS3媒體查詢來適應各種屏幕大小/類型上的應用。你可以通過Web找到各種響應式設計案例。例如TheNextWeb就是個典型的案例。你會發現,當你調整瀏覽器大小時,該網站會自動適應新的尺寸。
自適應設計根據不同的設備提供不同的HTML頁面。比如,一款獨立的Web應用可能需要3個獨立的表示層(HTML):一個是PC端,一個是平板電腦,另一個則是智能手機。例如,在不同的設備上訪問Web App,外觀和行為顯示的均各不相同。
那麼哪一種方法最好呢?我想說它們有各有各的優勢。響應式方法對於Web網頁設計以及Web應用信息來說是個不錯的選擇;而自適應方法可更好的適用於數據驅動Web應用,尤其是包含那些數據表的應用。為什麼?這是因為它讓開發者能夠更好的控制數據結構和樣式,而不是試圖去適應多種屏幕尺寸上的單個表格,自適應設計方法可讓你為每款設備創建不同的表單。
4. JavaScript

開發者總會為他們選擇的編程語言而爭論。你無法說服一個Java程序員稱贊PHP是最好的,反之亦如此,就像你也無法說服一個PHP程序員贊同Java是最好的,但在Web應用中開發者大多數會選擇使用JavaScript。
「隨著移動和Web桌面應用的發展,JavaScript已快速成為最為重要的計算機語言。」 Coordinato創始人Ben Bakhshi表示,「不少業內人士認為利用JavaScript編碼將在未來10年內顯著增加。」
5. Web應用架構

在Web開發上,應用架構變得比以往更加重要。應用體系架構直接影響到應用可擴展性、靈活性,以及集成其他Web服務和應用的能力。如果開發者想要創建一款有用的、可持續性的應用,那麼理應深刻掌握Web應用架構知識。
「Web應用開發者應該充分關注Web應用架構」,MRC軟體開發經理Tyler Wassell說,「開發者應該了解,所開發的應用程序如何與所有系統組件進行交互,以及底層架構將如何影響諸如可移植性、可維護性、可用性等性能情況。」
6. API集成

現如今,API已發展成為Web開發一個重要的方面。從本質來講,API讓不同的Web服務之間相互通信。開發者可以通過其他應用/服務上調用數據創建應用。
SimpleCollegeRecipes網站創始人兼CEO Brendan O』Connor認為,「API集成已成為現在Web應用開發者必備的技能。API允許你從其他網站上整合內容和信息。可以說,API使人人受益,包括終端用戶,API供應商以及程序員自己。」
總結:
Web應用開發正在不斷演變,Web開發所具備的技能也在不斷更新變化中。開發者唯有不斷進取、學習新的知識才能在開發行業中站住腳。當然,想要掌握每一種Web(移動Web)技能,幾乎是不可能的,大部分公司無法為員工給予Web以及移動開發方面不同的解決方案,不可能做到面面俱到。

C. web漏洞挖掘和二進制漏洞挖掘哪個容易

首先這類問題建議你去知乎,網路的回答你也看到了。好了,接下來我回答一下這個問題。要說到哪個容易,要看你個人對漏洞的理解。比如說web,想要做到挖掘,你得熟悉甚至精通一個web框架,比如說lamp,linux+apache+mysql+php,你可以搞定相關的一些問題。學習成本你也看到了。另外是對於漏洞的理解,常見的web漏洞,sql注入,xss跨站,csrf跨站請求偽造,文件上傳,命令執行等等。繼續說0day挖掘,白盒(比如代碼審計),灰盒(黑白盒結合),黑盒(Fuzz)。等等。接著來說二進制漏洞,我理解的二進制是,系統級別的漏洞挖掘。常見的比如緩沖區溢出,內存泄露等,影響比如本地許可權提升等等。學習成本就是你要學習匯編,C/C++,了解操作系統知識。熟悉常用的比如OD,IDA Pro等調試工具。另外建議學習一門腳本語言,方便編寫poc,這里推薦python。
至於難易程度,自己來決定吧。

D. 前端程序員必須知道的 Web 漏洞,快來看看

隨著互聯網的發展,早已經不是僅限於簡單的網頁或是社交,電商購物、銀行轉賬、企業管理等等。上次看到一個新聞,後台程序員離職後,利用職位之便,每天還不斷的給自己轉賬,轉了好多次才被發現,想想這多可怕。或者會竊取重要的商業信息,所以 Web 安全也是非常值得注意的。

什麼是 Web 安全?

黑客利用網路操作系統的漏洞和 Web 伺服器的 SQL 注入漏洞等,得到 Web 伺服器的控制權,輕則篡改、刪除、添加數據,重則竊取重要的商業信息、轉賬等,更嚴重的就是在網頁中植入惡意代碼,使網站受到不可預期的侵害。

常見的攻擊可分為三類:XSS、CSRF、SQL注入。

Cross Site Scripting 跨站腳本攻擊,為了與 CSS 區分,所以簡寫為 XSS 。

惡意攻擊給 Web 頁面植入惡意的 Script 代碼,當用戶瀏覽該網頁的時候,嵌入 Web 裡面的 script 代碼會被執行,從而達到攻擊的效果。

講直白點,就是惡意攻擊者通過在輸入框處添加惡意 script 代碼,用戶瀏覽網頁的時候執行 script 代碼,從而達到惡意攻擊用戶的目的。

1.1、XSS 的危害

1.2、XSS 的攻擊類型

發出請求時,XSS代碼會出現在 url 中,作為輸入提交到伺服器端,伺服器再返回給瀏覽器,然後瀏覽器解析執行 XSS 代碼,這一過程像一次反射,所以稱之為反射型。

這種類型的攻擊,通常是把 XSS 攻擊代碼放入請求地址的 數據傳輸部分,如:

提交的 XSS 代碼會存儲在伺服器端,如資料庫、內存、文件系統內,下次請求目標頁面時不再提交 XSS 代碼。

文檔型的 XSS 攻擊不會經過伺服器,作為中間人的角色,在數據傳輸過程中劫持到網路數據包,然後修改裡面的 html 文檔。

1.3、XSS 的防禦措施

措施1:編碼。

對這些數據進行 html entity 編碼。客戶端和伺服器端都需要進行轉義編碼。

轉義後為:

放入上邊的代碼中,還是會自動解析為上邊的代碼,所以放到外邊。

措施2:過濾。

移除用戶上傳的 DOM 屬性,如上邊的 onerror。

移除用戶上傳的 style、script、iframe 節點。

措施3:利用 CSP

瀏覽器中的內容安全策略,就是決策瀏覽器載入哪些資源。

Cross site request forgery 跨站點請求偽造。

攻擊者誘導受害者進入第三方網站,向被攻擊網站發送跨站請求,利用被攻擊者在被攻擊網站已經獲取的注冊憑證,繞過後台的用戶驗證達到冒充用戶對攻擊網站進行的某種操作。

CSRF 攻擊特點:

2.1、CSRF 的危害

2.2、CSRF 的攻擊類型

使用非常簡單,只需要一個 http 請求。

比如頁面中的一個圖片添加鏈接,還有 iframe、script ,最容易完成 CSFR 攻擊,且不易被用戶發現,隱蔽性超強。

由於 get 介面是最常見的一種 CSRF 攻擊類型,所以很多重要的介面不適用 get 方式,使用 post 一定程度上可以防止 CSRF 攻擊。

這種類型的 SCRF 攻擊,通常使用的是一個自動提交的表單。簡單講就是偽造一個自動提交的表單,一旦訪問頁面時,表單就會自動提交。

如:

比起前兩個,這個類型的比較少見,鏈接類型的攻擊必須要用戶點擊鏈接,才能觸發。

通常在論壇中發布的圖片嵌入惡意的鏈接,或以廣告的形式誘導用戶點擊中招。所以我們在郵箱中看到亂七八糟的廣告,盡量別點擊,防止遇到三方攻擊。

偽造一種新型的攻擊方式,用戶誤以為是在網站正常登錄,實際上是使用賬戶和密碼登錄到了黑客網站,這樣黑客可以監聽到用戶的所有操作,甚至知道用戶的賬戶信息。

2.3、CSRF 的防禦措施

措施1:檢查 http 頭部的 referer 信息

referer 包含在請求頭內,表示請求介面的頁面來源。

服務端通過檢查 referer 信息,發現來源於外域時,就可以攔截請求,通過阻止不明外域的訪問,一定程度上可以減少攻擊。

措施2:使用一次性令牌

使用一次性令牌做身份識別,黑客是無法通過跨域拿到一次性令牌的,所以服務端可以通過判斷是否攜帶一次性令牌,就可以排除一部分的非法操作者。

措施3:使用驗證圖片

服務端生成一些文本和數字,在服務端保存這份信息,同時以圖片的形式在客戶端展現,讓用戶去合法填寫信息,當 CSRF 攻擊時,拿不到這個驗證碼的時候,無法向伺服器提供這個信息,導致匹配失敗,從而識別它是非法攻擊者。

這個應用非常常見,之前登錄的時候,需要填寫圖形驗證碼。

現在滑動圖片驗證也非常常見。

SQL 注入,一般發生在注冊、評論、添加等,只有有用戶輸入的地方,就有可能發生 SQL 注入。SQL 注入是一種常見的 Web 安全漏洞,攻擊者會利用這個漏洞,可以訪問或修改數據,利用潛在的資料庫漏洞進行攻擊。

所謂SQL注入,就是通過把SQL命令插入到Web 表單 提交或輸入域名或頁面請求的查詢字元串,最終達到欺騙伺服器執行惡意的SQL命令。具體來說,它是利用現有應用程序,將(惡意的)SQL命令注入到後台資料庫引擎執行的能力,它可以通過在Web表單中輸入(惡意)SQL語句得到一個存在安全漏洞的網站上的資料庫,而不是按照設計者意圖去執行SQL語句。比如先前的很多影視網站泄露VIP會員密碼大多就是通過WEB表單遞交查詢字元暴出的,這類表單特別容易受到 SQL注入式攻擊 .

3.1、SQL 注入危害

任意的賬號都可以登錄,可以進行任意的操作,粗暴點講,就是隨便來。

3.2、 SQL注入分類

當輸入的參數為整數時,則有可能存在數字型漏洞。

當輸入參數為字元串時,則可能存在字元型注入漏洞。數字型與字元型注入最大的區別在於:數字型不需要單引號閉合,而字元型一般需要使用單引號來閉合。

字元型注入最關鍵的是如何閉合 SQL 語句以及注釋多餘的代碼。

其實我覺得 SQL 注入只有兩種類型:數字型與字元型。很多人可能會說還有如:Cookie 注入、POST 注入、延時注入等。

的確如此,但這些類型的注入歸根結底也是數字型和字元型注入的不同展現形式或者注入的位置不同罷了。

以下是一些常見的注入叫法:

3.3、SQL注入的防範措施

凡是用戶輸入的地方,我們都應該防止黑客攻擊,永遠不要相信用戶的輸入。所以對應的防禦措施分別有:

前後端分離之後,前端每天都會接觸到很多介面。發送網路請求的時候,有些介面就會使用 get 方法。最常見的傳參方式就是,直接在 url 地址後面加參數。

直接採用這種方式傳輸數據,如果數據被劫持或抓包工具偷走之後,就會直接被人盜取走,特別危險。若是採用介面加密,如下:

上邊那個看不懂的一長串符號,正是經過加密的數據。

介面加密就是將介面請求調用中傳遞的參數進行加密,目的就是為了保證介面請求中傳遞參數和返回的結果的安全性,一般比較敏感數據,如身份證、電話號碼、賬號、密碼等需要進行加密。

常見的加密方式:

加密方式較多,可以根據自己具體的需要和項目語言選擇其中一種。

加密之後的數據更安全,那我們能不能將介面所有的數據都進行加密呢?加密是非常消耗資源的,如果有大批量的數據都進行加密時,返回數據需要的時間就更長,會直接影響用戶體驗。所以我們進行加密時,只需要對敏感的重要的信息進行加密。

好了我今天的文章就到此結束了,本篇文章沒有介紹到的 web 安全,歡迎評論區交流!

E. 怎麼才能找到網站的漏洞

首先修改電腦本地host文件。改了之後就可以用http://test.com虛擬域名訪問本地文件了。文件目錄在「C:WindowsSystem32driversetc」 網站目錄很簡單,如下:在網站入口中,引用了資料庫配置文件,然後輸出一句話來模擬網站首頁。在資料庫配置文件中,我參照當前流行的框架ThinkPHP資料庫配置文件,返回一個資料庫基本信息數組,包括資料庫的埠和密碼。

就是 Web安全領域的知識,Web 漏洞的類型有很多,從前端到後端或者傲遊內網 要是只靠掃描器的話,也沒什麼大作用,即使你走運找到了個,因為沒有知識積累,你也不會利用它,也是白搭的 若是有興趣可以自己去深入學習一下,若是因為看某音某小視頻而激起的三分鍾熱度,勸你還是放棄吧,畢竟這不是一兩天就能學會的,浪費時間而已。

而且,除了必要的專業領域知識,還要必備許多其它的課外技能,需要大量的時間去學習。

F. HTML5技術分享 淺談前端安全以及如何防範

隨著互聯網的發達,各種WEB應用也變得越來越復雜,滿足了用戶的各種需求,但是隨之而來的就是各種網路安全的問題。作為前端開發行業的我們也逃不開這個問題。所以今天我就簡單聊一聊WEB前端安全以及如何防範。

首先前端攻擊都有哪些形式,我們該如何防範?

一、XSS攻擊

XSS是一種經常出現在web應用中的計算機安全漏洞,它允許惡意web用戶將代碼植 入到提供給其它用戶使用的頁面中。比如這些代碼包括HTML代碼和客戶端腳本。攻 擊者利用XSS漏洞旁路掉訪問控制——例如同源策略(same origin policy)。這種類型 的漏洞由於被黑客用來編寫危害性更大的網路釣魚(Phishing)攻擊而變得廣為人知。

XSS攻擊的危害包括:

1、盜取各類用戶帳號,如機器登錄帳號、用戶網銀帳號、各類管理員帳號

2、控制企業數據,包括讀取、篡改、添加、刪除企業敏感數據的能力

3、盜竊企業重要的具有商業價值的資料

4、非法轉賬

5、強制發送電子郵件

6、網站掛馬

7、控制受害者機器向其它網站發起攻擊

XSS攻擊的具體表現:

1、JavaScript代碼注入

下面是代碼的頁面

2 接著,我們在cheat.php這個網站上面,將跳轉過來的源網頁地址悄悄的進行修改。

於是,在用戶訪問了我們的欺騙網站後,之前的tab已經悄然發生了變化,我們將其悄悄的替換為了釣魚的網站,欺騙用戶輸入用戶名、密碼等。

3 我們的釣魚網站,偽裝成XX空間,讓用戶輸入用戶名與密碼

這種釣魚方式比較有意思,重點在於我們比較難防住這種攻擊,我們並不能將所有的頁面鏈接都使用js打開。所以,要麼就將外鏈跳轉的連接改為當前頁面跳轉,要麼就在頁面unload的時候給用戶加以提示,要麼就將頁面所有的跳轉均改為window.open,在打開時,跟大多數釣魚防治殊途同歸的一點是,我們需要網民們的安全意識提高。

六、我們平時開發要注意些什麼?

開發時要提防用戶產生的內容,要對用戶輸入的信息進行層層檢測要注意對用戶的輸出內容進行過濾(進行轉義等)重要的內容記得要加密傳輸(無論是利用https也好,自己加密也好)

get與post請求,要嚴格遵守規范,不要混用,不要將一些危險的提交使用jsonp完成。

對於URL上攜帶的信息,要謹慎使用。心中時刻記著,自己的網站哪裡可能有危險。

G. Web安全問題解答

很多新手都覺得自己的電腦web經常被木馬侵襲,所以下面我為大家帶來電腦基礎知識學習之Web安全問題,讓你了解下如何安全的保護好自己的電腦。

1、什麼叫Web應用系統?

答:Web應用系統就是利用各種動態Web技術開發的,基於B/S(瀏覽器/伺服器)模式的事務處理系統。用戶直接面對的是客戶端瀏覽器,使用Web應用系統時,用戶通過瀏覽器發出的請求,其之後的事務邏輯處理和數據的邏輯運算由伺服器與資料庫系統共同完成,對用戶而言是完全透明的。運算後得到的結果再通過網路傳輸給瀏覽器,返回給用戶。比如:ERP系統、CRM系統以及常見的網站系統(如電子政務網站、企業網站等)都是Web應用系統。

2、為什麼Google把我的網站列為惡意網站

答:Google在對網站內容進行搜索時,同時也會檢查是否含有惡意軟體或代碼(這些惡意軟體或代碼可能威脅該網站的訪問者)。如果該網站存在這樣的惡意軟體或代碼,就會在用戶搜索到該網站時,加上一個標記:“該網站可能含有惡意軟體,有可能會危害您的電腦”。這將會使網站信譽受損,並導致潛在的用戶流失。

3、Web威脅為什麼難以防範

答:針對Web的攻擊已經成為全球安全領域最大的挑戰,主要原因有如下兩點:

1. 企業業務迅速更新,需要大量的Web應用快速上線。而由於資金、進度、意識等方面的影響,這些應用沒有進行充分安全評估。

2. 針對Web的攻擊會隱藏在大量正常的業務行為中,而且使用各種變形偽裝手段,會導致傳統的防火牆和基於特徵的入侵防禦系統無法發現和阻止這種攻擊。

4、黑客為什麼要篡改網站頁面

答:當黑客獲取網站的控制許可權後,往往會更改網站頁面,可能的動機有:

1. 宣稱政治主張;

2. 炫耀技術,建立“聲望”;

3. 宣洩情緒;

4. 經濟利益,通過網站釋放木馬,從而獲取經濟利益。

5、黑客實施網站掛馬的目的是什麼

答:網站掛馬的主要目的是控制訪問該網站的用戶的計算機,從而可以進一步獲取用戶的計算機隱私信息而獲利,或者將這些用戶的計算機作為“肉雞”,對 其它 伺服器或網路進行DDos攻擊。

6、為什麼我網站的資料庫表內容被大量替換?

答:如果排除了管理員誤操作的可能性,則可能是網站伺服器被自動化攻擊工具(如SQL注入工具等)攻擊的結果。目前已經有自動化的工具對網站進行攻擊,如果網站存在漏洞的話,攻擊工具能夠獲得對網站資料庫訪問的許可權。如果發現這種情況,應該仔細核查網站伺服器和資料庫伺服器日誌,找出更改記錄。

7、在Web威脅防禦中防火牆的優點和不足

答:防火牆可以過濾掉非業務埠的數據,防止非Web服務出現的漏洞,目前市場上可選擇的防火牆品牌也較多。但對於目前大量出現在應用層面上的SQL注入和XSS漏洞,防火牆無法過濾,因而無法保護Web伺服器所面臨的應用層威脅。

8、常見發布系統之IIS

答:IIS 是Internet Information Server的縮寫,是由微軟開發的一種Web伺服器(Web server)產品,用以支持HTTP、FTP和SMTP服務發布。 它主要運行在微軟的 操作系統 之上,是最流行的Web伺服器軟體之一。

9、常見Web伺服器之Apache

答:Apache是Web伺服器軟體。它可以運行在幾乎所有廣泛使用的計算機平台上。Apache源於NCSAhttpd伺服器,經過多次修改,已成為世界上最流行的Web伺服器軟體之一。

10、Apache是不是比IIS要安全

答:早期的IIS在安全性方面存在著很大的問題,如果使用默認設置,黑客可以輕松趁虛而入。不過在IIS6中,微軟公司對其安全方面進行了大幅改進。只要保證操作系統補丁更新及時,就可以將網站安全系數盡可能地提高。

Apache在安全方面一直做得比較好,更主要的原因是很多用戶都是在linux系統下使用Apache。相對於微軟的操作系統,Linux系統被發布的安全按漏洞更少一些。

從技術角度講,兩個Web伺服器的安全性沒有本質區別,一個完整的Web系統的安全性更取決於Web程序的安全性以及Web伺服器配置的正確性。

11、什麼叫應用防火牆

答:應用防火牆的概念在上個世紀九十年代就已經被提出,但在最近幾年才真正走向成熟和應用。應用防火牆的概念與網路防火牆相對,網路防火牆關注網路層的訪問控制,應用防火牆則關注應用層數據的過濾與控制。

12、什麼叫網站防篡改系統

答:網站防篡改系統通過實時監控來保證Web系統的完整性,當監控到Web頁面被異常修改後能夠自動恢復頁面。網站放篡改系統由於其設計理念的限制,對靜態頁面的防護能力比較好,對動態頁面的防護則先天不足。

13、我的Web伺服器被訪問速度變慢,經常出現連接失敗的現象,可能是什麼原因造成的呢?

答:這可能有兩個方面的情況,一種是網路方面的原因,如運營商的線路故障,或帶寬消耗型的DDOS攻擊;另外一種情況是伺服器方面的原因,如感染病毒,或資源消耗型的拒絕服務攻擊。

14、我的Web伺服器部署了木馬查殺軟體,為什麼還被掛了木馬?

答:所謂的網頁被掛馬,很多情況下並不是有木馬程序或代碼被放到了Web伺服器上,而是有一段跳轉代碼(本身不包含攻擊信息)被放在了Web伺服器上網頁中。當遠程用戶訪問帶有跳轉代碼的頁面時,將會執行這段代碼,從另外一個地址下載並執行木馬。所以,即使在Web伺服器上部署了木馬查殺軟體,也會由於木馬本身並不存在於伺服器上,而無法避免網站被掛馬。

15、我的Web伺服器前端部署了入侵防禦產品設備,入侵防禦產品設備中包含了幾百條的SQL注入攻擊防禦特徵庫,為什麼我的Web系統還是被SQL注入攻擊成功了呢?

答:SQL注入是一種沒有固定特徵的攻擊行為,對安全設備來說,就是屬於變種極多的攻擊行為。所以,基於數據特徵的SQL注入檢測 方法 是沒有辦法窮盡所有組合的,會存在大量的誤報、漏報可能。如果採用的入侵防禦產品設備採用的是基於數據特徵的檢測方法,即使包含了數百條SQL注入特徵庫,也會有漏報出現。

16、黑客為什麼喜歡攻擊網站?

答:Web業務已經成為當前互聯網最為流行的業務,大量的在線應用業務都依託於Web服務進行。並且一些大型網站的日訪問量可達百萬之巨,不論是直接攻擊網站(如網路銀行,在線游戲伺服器)還是通過網站掛馬竊取訪問者信息,都可以使黑客獲得直接的經濟利益。另外一方面,網站是機構的網路形象,通過攻擊篡改網站頁面,也可以得到最大范圍的名聲傳播。對於那些企圖出名的黑客,攻擊網站是一項不錯的選擇。

17、如何判斷自己的Web伺服器是否已經成為肉雞?

答:如果發現自己的Web伺服器上開啟了一些奇怪的進程,發現Web伺服器總是有大量從內往外的連接,發現Web伺服器不定時系統緩慢,諸如此類的現象,可使用木馬清除軟體進行檢查和查殺。

細分攻擊形式:

18、目前國內Web應用系統存在哪些最突出的安全問題?

答:Web應用程序的漏洞是很難避免的,系統的安全隱患主要在三方面:

首先是網路運維人員或安全管理人員對Web系統的安全狀況不清楚。哪些頁面存在漏洞,哪些頁面已經被掛馬,他們不能夠清晰的掌握,從而及時採取改正 措施 ;

其次,在安全設備的部署方面,沒有選用專業的、針對Web業務攻擊的防禦產品對網站進行保護,而是寄託於防火牆這種訪問控制類的網關安全設備;

另外,從安全響應來看,Web安全事件發生後的應急與處理也存在欠缺。沒有相應的頁面恢復系統,也沒有處理Web安全事件的專業安全服務團隊。很多單位沒有制定實時監控的網站安全管理制度。

19、什麼叫SQL注入

答:SQL注入就是利用現有應用程序,將惡意的SQL命令注入到網站後台資料庫引擎執行的能力。SQL注入利用的是正常的HTTP服務埠,表面上看來和正常的Web訪問沒有區別,隱蔽性極強,不易被發現。

20、SQL注入有哪些危害

答:SQL注入的主要危害包括:

 未經授權狀況下操作資料庫中的數據;

 惡意篡改網頁內容;

 私自添加系統帳號或者是資料庫使用者帳號;

 網頁掛木馬;

21、什麼叫XSS

答:跨站腳本攻擊(XSS)是攻擊者將惡意腳本提交到網站的網頁中,使得原本安全的網頁存在惡意腳本;或者是直接添加有惡意腳本的網頁並誘使用戶打開,用戶訪問網頁後,惡意腳本就會將用戶與網站的會話COOKIE及其它會話信息全部截留發送給攻擊者,攻擊者就可以利用用戶的COOKIE正常訪問網站。攻擊者有時還會將這些惡意腳本以話題的方式提交到論壇中,誘使網站管理員打開這個話題,從而獲得管理員許可權,控制整個網站。跨站腳本漏洞主要是由於沒有對所有用戶的輸入進行有效的驗證所造成的,它影響所有的Web應用程序框架。

22、XSS有哪些危害

答:XSS攻擊的危害包括:

 盜取各類用戶帳號,如機器登錄帳號、用戶網銀帳號、各類管理員帳號;

 控制企業數據,包括讀取、篡改、添加、刪除企業敏感數據的能力;

 盜竊企業重要的具有商業價值的資料;

 非法轉賬;

 強制發送電子郵件;

 網站掛馬;

 控制受害者機器向其它網站發起攻擊。

23、什麼叫Shellcode

答:Shellcode實際是一段代碼(也可以是填充數據),可以用來發送到伺服器,利用已存在的特定漏洞造成溢出,通稱“緩沖區溢出攻擊”中植入進程的代碼。這段代碼可以是導致常見的惡作劇目的的彈出一個消息框彈出,也可以用來刪改重要文件、竊取數據、上傳木馬病毒並運行,甚至是出於破壞目的的格式化硬碟等等。

24、什麼叫網站漏洞

答:隨著B/S模式被廣泛的應用,用這種模式編寫Web應用程序的程序員也越來越多。但由於開發人員的水平和 經驗 參差不齊,相當一部分的開發人員在編寫代碼的時候,沒有對用戶的輸入數據或者是頁面中所攜帶的信息(如Cookie)進行必要的合法性判斷,導致了攻擊者可以利用這個編程漏洞來入侵資料庫或者攻擊Web應用程序的使用者,由此獲得一些重要的數據和利益。

25、什麼叫木馬

答:木馬(Trojan)這個名字來源於古希臘 傳說 ,在互聯網時代它通常是指通過一段特定的程序(木馬程序)來控制另一台計算機。木馬通常有兩個可執行程序:一個是客戶端,即控制端,另一個是服務端,即被控制端。木馬的設計者為了防止木馬被發現,而採用多種手段隱藏木馬。木馬的服務一旦運行並被控制端連接,其控制端將享有服務端的大部分操作許可權,例如給計算機增加口令,瀏覽、移動、復制、刪除文件,修改注冊表,更改計算機配置等。

26、什麼叫網站掛馬

答:“掛馬” 就是黑客入侵了一些網站後,將自己編寫的網頁木馬嵌入被黑網站的主頁中。當訪問者瀏覽被掛馬頁面時,自己的計算機將會被植入木馬,黑客便可通過遠程式控制制他們的計算機來實現不可告人的目的。網頁木馬就是將木馬和網頁結合在一起,打開網頁的同時也會運行木馬。最初的網頁木馬原理是利用IE瀏覽器的ActiveX控制項,運行網頁木馬後會彈出一個控制項下載提示,只有點擊確認後才會運行其中的木馬。這種網頁木馬在當時網路安全意識普遍不高的情況下還是有一點威脅的,但是其缺點顯而易見,就是會出現ActiveX控制項下載提示。現在很少會有人去點擊那莫名其妙的ActiveX控制項下載確認窗口了。在這種情況下,新的網頁木馬誕生了。這類網頁木馬通常利用IE瀏覽器的漏洞,在運行的時候沒有絲毫提示,因此隱蔽性極高。

27、什麼叫DOS./DDOS攻擊?

答:DoS即Denial Of Service,拒絕服務的縮寫。DoS是指利用網路協議實現的缺陷來耗盡被攻擊對象的資源,目的是讓目標計算機或網路無法提供正常的服務或資源訪問,使目標系統服務系統停止響應甚至崩潰。在此攻擊中並不包括侵入目標伺服器或目標網路設備。這些被大量消耗的服務資源包括網路帶寬、文件系統空間容量、開放的進程或者允許的連接。這種攻擊會導致資源的匱乏,無論計算機的處理速度多快、內存容量多大、網路帶寬有多高,都無法避免這種攻擊帶來的後果。

DDoS(Distributed Denial Of Service)又把DoS又向前發展了一大步,這種分布式拒絕服務攻擊是黑客利用在已經被侵入並已被控制的、不同的高帶寬主機(可能是數百,甚至成千上萬台)上安裝大量的DoS服務程序,它們等待來自中央攻擊控制中心的命令。中央攻擊控制中心再適時啟動全體受控主機的DoS服務進程,讓它們對一個特定目標發送盡可能多的網路訪問請求,形成一股DoS洪流沖擊目標系統,猛烈地DoS攻擊同一個網站。被攻擊的目標網站會很快失去反應而不能及時處理正常的訪問甚至系統癱瘓崩潰。

28、什麼叫網路釣魚

答:網路釣魚(Phishing‎,又名釣魚法或釣魚式攻擊)是通過傳播“聲稱來自於銀行或其他知名機構”的欺騙信息,意圖引誘受害者泄漏出敏感信息(如用戶名、口令、帳號 ID 、 ATM PIN 碼或信用卡詳細信息)的一種攻擊方式。最典型的網路釣魚攻擊將受害者引誘到一個與其目標網站非常相似的釣魚網站上,並獲取受害者在此網站上輸入的個人敏感信息。通常這個攻擊過程不會讓受害者警覺。它是“社會工程攻擊”的一種形式。

29、什麼叫網路蠕蟲

答:一般認為:蠕蟲病毒是一種通過網路傳播的惡性病毒,它除具有病毒的一些共性外,同時具有自己的一些特徵。如:不利用文件寄生(有的只存在於內存中)、對網路造成拒絕服務,以及與黑客技術相結合,等等。蠕蟲病毒主要的破壞方式是大量的復制自身,然後在網路中傳播,嚴重佔用有限的網路資源,最終引起整個網路的癱瘓,使用戶不能通過網路進行正常的工作。每一次蠕蟲病毒的爆發都會給全球經濟造成巨大損失,因此它的危害性是十分巨大的。有一些蠕蟲病毒還具有更改用戶文件、將用戶文件自動當附件轉發的功能,更是嚴重的地危害到用戶的 系統安全 。

30、什麼叫僵屍網路

答:僵屍網路(英文名稱叫BotNet),是互聯網上受到黑客集中控制的一群計算機,往往被黑客用來發起大規模的網路攻擊。如:分布式拒絕服務攻擊(DDoS)、海量垃圾郵件等。同時,黑客控制的這些計算機所保存的信息也都可以被黑客隨意“取用”。因此,不論是對網路安全運行還是用戶數據安全的保護,僵屍網路都是極具威脅的隱患。然而,發現一個僵屍網路是非常困難的,因為黑客通常遠程、隱蔽地控制分散在網路上的“僵屍主機”,這些主機的用戶往往並不知情。因此,僵屍網路是目前互聯網上最受黑客青睞的作案工具。

31、什麼是ARP攻擊

答:ARP是地址解析協議,是一種將IP地址轉化為MAC地址的協議。在網路中,當A主機需要向B主機發送報文時,會先查詢本地的ARP緩存表,找到與B主機IP地址對應的MAC地址後,進行數據傳輸。如果未找到,則會發送一個廣播ARP請求報文,請求對應B主機IP的B回應MAC地址。這個廣播包會被整個廣播域中所有主機收到,但只有B主機會發現IP地址對應自己,才會將MAC地址回應給A。此時A收到這個回應並更新自己的ARP緩存,進行下一步的數據傳輸。ARP攻擊應當叫做ARP欺騙,就是冒充網關地址對網路中主機給出ARP查詢回應,使得本來是A->網關的數據走向,變成A->攻擊者->網關。

32、ARP攻擊的危害有哪些?

答:ARP攻擊的危害主要有兩個方面。從ARP攻擊的原理來看,這種攻擊使得受害主機的所有網路數據都將通過攻擊者進行轉發。這樣一來,要竊取信息或控制流量就變得輕而易舉。另一方面,由於ARP緩存會不斷刷新,有的時候,真正的網關會偶爾“清醒”。當真正的網關參與到數據包轉發中來時,由於做了一個切換動作,可能會有頻繁的短暫掉線現象。所以,如果Web伺服器所在網路中發生了ARP攻擊,將導致Web伺服器不可訪問。

細分攻擊介質:

33、WEB應用系統(網站)會面臨來自哪些方面的安全問題

答:網站面臨的安全問題是方方面面的,主要可概括為以下四個方面:

1)操作系統、後台資料庫的安全問題

這里指操作系統和後台資料庫的漏洞,配置不當,如弱口令等等,導致黑客、病毒可以利用這些缺陷對網站進行攻擊。

2)Web發布系統的漏洞

Web業務常用的發布系統(即Web伺服器),如IIS、Apache等,這些系統存在的安全漏洞,會給入侵者可乘之機。

3)Web應用程序的漏洞

主要指Web應用程序的編寫人員,在編程的過程中沒有考慮到安全的因素,使得黑客能夠利用這些漏洞發起對網站的攻擊,比如SQL注入、跨站腳本攻擊等等。

4)自身網路的安全狀況

網站伺服器所處的網路安全狀況也影響著網站的安全,比如網路中存在的DoS攻擊等,也會影響到網站的正常運營。

34、Web程序漏洞是怎麼形成的

答:Web站點之所以存在如此眾多的安全漏洞,是由下列所示的這些原因造成的:

1、 大部分的中小型網站都是使用某個建站模塊建設的,而這些通用的建站模塊不僅本身存在各種安全漏洞,同時一些使用它們的建站人員根本沒有在建站完成後對站點進行安全加固。

2、 Web站點開發人員對安全不夠重視,在編寫網頁時,沒有對用戶的輸入進行驗證,沒有對數據的大小、類型和字元串進行規范,沒有限制API函數對系統資源的使用,以及對Web伺服器沒有進行相應的資源限制,引起拒絕服務攻擊。

3、 管理員對Web伺服器主機系統及Web應用程序本身配置不當,一些中小企業自己管理的Web站點根本沒有足夠的技術人員來管理它們的安全。

4、 當Web站點是託管在某個電信機房時,對它們進行的遠程管理存在安全風險。

5、 Web站點管理員本身技術水平的限制,對各種針對Web站點的安全攻擊不了解,也沒有端正工作態度,沒能對站點進行認真的安全加固,以及進行日常的安全檢查。

6、 Web站點所處網路大環境的安全設計不合理,以及沒有將安全防範工作融入到站點整個生命周期的各個階段。

7、 企業領導不夠重視,在Web站點的安全防範方面投入的資金太少或不合理,沒有制定一個有效的Web站點安全防範策略,明確Web站點日常管理流程,也沒有對Web站點的管理人員和工作人員進行不斷的安全培訓。

35、黑客主要利用哪些方法對網站進行數據竊取和修改

答:黑客需要使用擁有一定許可權的用戶帳戶才能對網站進行數據竊取和修改,所以可能造成用戶許可權泄漏或提升的漏洞,都可以被黑客利用來進行攻擊,如SQL注入,溢出漏洞、暴力猜解等。

36、目前對Web伺服器威脅較大的SQL注入工具有哪些?

答:網上常見的SQL注入工具有“啊D SQL注入工具”、pangolin、NBSI、HDSI、“管中窺豹注入工具”等。

37、目前對Web伺服器威脅較大的XSS攻擊工具有哪些?

答:網上常見的XSS攻擊工具有sessionIE、Webscan、XSS Inject Scanner 等。

38、怎樣應對Web業務安全事件

答:應對Web業務安全事件,從根本上的解決辦法就是對Web應用程序源代碼進行代碼檢查和漏洞修復,但是這會影響正常Web業務運行,而且費用較高。比較有效的解決方案是通過專業的Web業務安全檢查工具或服務來檢查網站安全狀況,部署專業的Web安全產品。比如基於行為檢測的入侵防禦產品。同時在管理上,要求網管人員實時對網站進行監測,一旦發現網頁被篡改等問題立刻進行頁面恢復、刪除惡意腳本等工作。

39、如何防禦SQL注入

答:要想從根本上解決XSS攻擊,就要對Web應用程序源代碼進行檢查,發現安全漏洞進行修改。但是這種方法在實際中給用戶帶來了不便,如:需要花費大量的人力財力、可能無法找到當時的網站開發人員、需要網站下線等。對代碼進行修改後,由於增加了過濾條件和功能,同時也給伺服器帶來了計算壓力。通常的解決方法是在資料庫伺服器前端部署入侵防禦產品。SQL注入攻擊具有變種多、隱蔽性強等特點,傳統的特徵匹配檢測方式不能有效地進行防禦,需要採用“基於攻擊手法的行為監測”的入侵防禦產品才能夠精確地檢測到SQL注入攻擊。

40、如何防禦XSS

答:要想從根本上解決XSS攻擊,就要對Web應用程序源代碼進行檢查,發現安全漏洞進行修改。但是這種方法在實際中給用戶帶來了不便,如:需要花費大量的人力財力;可能無法找到當時的網站開發人員、需要網站下線等。對代碼進行修改後,由於增加了過濾條件和功能,同時也給伺服器帶來了計算壓力。通常的解決方法是在資料庫伺服器前端部署入侵防禦產品。XSS攻擊具有變種多、隱蔽性強等特點,傳統的特徵匹配檢測方式不能有效地進行防禦,需要採用基於攻擊手法的行為監測的入侵防禦產品產品才能夠精確地檢測到XSS攻擊。

41、如何發現網站掛馬

答:伺服器被掛馬,通常情況下,若出現諸如“彈出頁面”,則可以比較容易發現,發現防病毒軟體告警之類,則可以發現伺服器被掛馬;由於漏洞不斷更新,掛馬種類時刻都在變換,通過客戶端的反映來發現伺服器是否被掛馬往往疏漏較大;正確的做法是經常性的檢查伺服器日誌,發現異常信息;經常檢查網站代碼,藉助於專業的檢測工具來發現網頁木馬會大大提高工作效率和准確度。

H. web攻擊有哪些怎麼防護

1、DoS和DDoS攻擊(DoS(Denial of Service),即拒絕服務,造成遠程伺服器拒絕服務的行為被稱為DoS攻擊。其目的是使計算機或網路無法提供正常的服務。最常見的DoS攻擊有計算機網路帶寬攻擊和連通性攻擊)
防範:(1) 反欺騙:對數據包的地址及埠的正確性進行驗證,同時進行反向探測。(2) 協議棧行為模式分析:每個數據包類型需要符合RFC規定,這就好像每個數據包都要有完整規范的著裝,只要不符合規范,就自動識別並將其過濾掉。(3) 特定應用防護:非法流量總是有一些特定特徵的,這就好比即便你混進了顧客群中,但你的行為還是會暴露出你的動機,比如老重復問店員同一個問題,老做同樣的動作,這樣你仍然還是會被發現的。(4) 帶寬控制:真實的訪問數據過大時,可以限制其最大輸出的流量,以減少下游網路系統的壓力。
2、CSRF(Cross Site Request Forgery),即跨站請求偽造,是一種常見的Web攻擊,但很多開發者對它很陌生。CSRF也是Web安全中最容易被忽略的一種攻擊。
防範:(1) 驗證碼。應用程序和用戶進行交互過程中,特別是賬戶交易這種核心步驟,強制用戶輸入驗證碼,才能完成最終請求。在通常情況下,驗證碼夠很好地遏制CSRF攻擊。但增加驗證碼降低了用戶的體驗,網站不能給所有的操作都加上驗證碼。所以只能將驗證碼作為一種輔助手段,在關鍵業務點設置驗證碼。(2) Referer Check。HTTP Referer是header的一部分,當瀏覽器向web伺服器發送請求時,一般會帶上Referer信息告訴伺服器是從哪個頁面鏈接過來的,伺服器籍此可以獲得一些信息用於處理。可以通過檢查請求的來源來防禦CSRF攻擊。正常請求的referer具有一定規律,如在提交表單的referer必定是在該頁面發起的請求。所以通過檢查http包頭referer的值是不是這個頁面,來判斷是不是CSRF攻擊。但在某些情況下如從https跳轉到http,瀏覽器處於安全考慮,不會發送referer,伺服器就無法進行check了。若與該網站同域的其他網站有XSS漏洞,那麼攻擊者可以在其他網站注入惡意腳本,受害者進入了此類同域的網址,也會遭受攻擊。出於以上原因,無法完全依賴Referer Check作為防禦CSRF的主要手段。但是可以通過Referer Check來監控CSRF攻擊的發生。(3) Anti CSRF Token。目前比較完善的解決方案是加入Anti-CSRF-Token,即發送請求時在HTTP 請求中以參數的形式加入一個隨機產生的token,並在伺服器建立一個攔截器來驗證這個token。伺服器讀取瀏覽器當前域cookie中這個token值,會進行校驗該請求當中的token和cookie當中的token值是否都存在且相等,才認為這是合法的請求。否則認為這次請求是違法的,拒絕該次服務。這種方法相比Referer檢查要安全很多,token可以在用戶登陸後產生並放於session或cookie中,然後在每次請求時伺服器把token從session或cookie中拿出,與本次請求中的token 進行比對。由於token的存在,攻擊者無法再構造出一個完整的URL實施CSRF攻擊。但在處理多個頁面共存問題時,當某個頁面消耗掉token後,其他頁面的表單保存的還是被消耗掉的那個token,其他頁面的表單提交時會出現token錯誤。
3、XSS(Cross Site Scripting),跨站腳本攻擊。為和層疊樣式表(Cascading Style Sheets,CSS)區分開,跨站腳本在安全領域叫做「XSS」。
防範:(1) 輸入過濾。永遠不要相信用戶的輸入,對用戶輸入的數據做一定的過濾。如輸入的數據是否符合預期的格式,比如日期格式,Email格式,電話號碼格式等等。這樣可以初步對XSS漏洞進行防禦。上面的措施只在web端做了限制,攻擊者通抓包工具如Fiddler還是可以繞過前端輸入的限制,修改請求注入攻擊腳本。因此,後台伺服器需要在接收到用戶輸入的數據後,對特殊危險字元進行過濾或者轉義處理,然後再存儲到資料庫中。(2) 輸出編碼。伺服器端輸出到瀏覽器的數據,可以使用系統的安全函數來進行編碼或轉義來防範XSS攻擊。在PHP中,有htmlentities()和htmlspecialchars()兩個函數可以滿足安全要求。相應的JavaScript的編碼方式可以使用JavascriptEncode。(3) 安全編碼。開發需盡量避免Web客戶端文檔重寫、重定向或其他敏感操作,同時要避免使用客戶端數據,這些操作需盡量在伺服器端使用動態頁面來實現。(4) HttpOnly Cookie。預防XSS攻擊竊取用戶cookie最有效的防禦手段。Web應用程序在設置cookie時,將其屬性設為HttpOnly,就可以避免該網頁的cookie被客戶端惡意JavaScript竊取,保護用戶cookie信息。(5)WAF(Web Application Firewall),Web應用防火牆,主要的功能是防範諸如網頁木馬、XSS以及CSRF等常見的Web漏洞攻擊。由第三方公司開發,在企業環境中深受歡迎。
4、SQL注入(SQL Injection),應用程序在向後台資料庫傳遞SQL(Structured Query Language,結構化查詢語言)時,攻擊者將SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字元串,最終達到欺騙伺服器執行惡意的SQL命令。
防範:(1) 防止系統敏感信息泄露。設置php.ini選項display_errors=off,防止php腳本出錯之後,在web頁面輸出敏感信息錯誤,讓攻擊者有機可乘。(2) 數據轉義。設置php.ini選項magic_quotes_gpc=on,它會將提交的變數中所有的』(單引號),」(雙引號),\(反斜杠),空白字元等都在前面自動加上\。或者採用mysql_real_escape()函數或addslashes()函數進行輸入參數的轉義。(3) 增加黑名單或者白名單驗證。白名單驗證一般指,檢查用戶輸入是否是符合預期的類型、長度、數值范圍或者其他格式標准。黑名單驗證是指,若在用戶輸入中,包含明顯的惡意內容則拒絕該條用戶請求。在使用白名單驗證時,一般會配合黑名單驗證。
5、上傳漏洞在DVBBS6.0時代被黑客們利用的最為猖獗,利用上傳漏洞可以直接得到WEBSHELL,危害等級超級高,現在的入侵中上傳漏洞也是常見的漏洞。該漏洞允許用戶上傳任意文件可能會讓攻擊者注入危險內容或惡意代碼,並在伺服器上運行。
防範: (1)檢查伺服器是否判斷了上傳文件類型及後綴。 (2) 定義上傳文件類型白名單,即只允許白名單裡面類型的文件上傳。 (3) 文件上傳目錄禁止執行腳本解析,避免攻擊者進行二次攻擊。 Info漏洞 Info漏洞就是CGI把輸入的參數原樣輸出到頁面,攻擊者通過修改輸入參數而達到欺騙用戶的目的。

I. 怎樣預防web的執行順序缺陷漏洞的產生

方法/步驟
1
輸入校驗

大多數的安全漏洞是因為目標應用程序沒有正確地校驗輸入數據。所以,應用程序要考慮到所有惡意的輸入直到能證明其合法,這要涵蓋不可信環境中的所有數據。
輸入校驗是第一道防線,總體來講就是縮小應用程序允許輸入的范圍,它會直接作用在用戶提供的數據上。這種類型的防禦要依賴輸入參數在一個合法的范圍內,或者如果用戶提供了超出了范圍的值就會停止執行。在Web應用程序中,這首先要標准化輸入將其轉換到基線字元集和編碼。接下來,應用程序必須對標准化的輸入使用過濾策略,拒絕那些值在合法范圍之外的輸入。這種方式能夠避免很多Web應用程序中的問題,在執行輸入校驗時會使用正向模式匹配或正向校驗。在這種情況下,開發人員建立規則來識別那些可接受的輸入而不是識別有什麼輸入是不可接受的。盡管開發人員不能預測所有類型的攻擊,但他們應該能夠說明所有類型的合法輸入。
關鍵問題在於,輸入校驗通常使用地並不充分,這是因為輸入參數的數據域允許存在惡意數據,這是與校驗執行相獨立的。例如,在SQL注入漏洞中,大多數的SQL語句使用引號作為字元串分隔符,這就意味著黑客可以使用它來執行SQL注入攻擊。但是,在有些情況下,字元串輸入域必須允許存在引號值,所以應用程序不能排除所有包含引號的值。

2
熱點防護

任何類型的攻擊都是以熱點為目標的,熱點指的就是應用程序中可能會有某種類型漏洞的代碼。通用的輸入校驗會在應用程序中進行或者在整個Web應用程序上下文中修改輸入,與之相比,第二道防線關注於保護重要的熱點,例如保護那些真正使用輸入域值的代碼行。
一個具體的例子就是SQL注入攻擊,它們大多數會使用單引號或雙引號。有些編程語言提供了對這些字元的轉碼機制,這樣它們就能用在SQL語句中了,但是只能用來在語句中分隔值。4但是這些技術有兩個問題。第一,更高級的注入技術,例如聯合使用引號和轉義字元,可以繞過這些機制。第二,引入轉義字元會增加字元串的長度,如果結果字元串的長度超過資料庫限制的話,可能會導致數據截斷。
正確使用參數化命令是預防注入攻擊最有效的方式。1在這種情況下,開發人員定義命令的結構,並使用佔位符來代表命令的變數值。稍後,當應用程序將對應的值關聯到命令上時,命令解釋器會正確地使用它們而不會涉及到命令的結構。
這種技術最著名的用法是資料庫的預處理語句,也被稱為參數化查詢。4 當應用程序創建預處理語句時,語句發送到了資料庫端。應用程序使用佔位符來表示查詢的可變部分,佔位符通常會是問號或標簽。隨後,每次查詢執行時,應用程序都要往對應的可變部分綁定值。不管數據的內容是什麼,應用程序會一直使用這個表達式作為一個值而並沒有SQL代碼。因此,不可能修改查詢的結構。
為了確保正確使用數據,很多語言允許類型綁定。但是預處理語句本身並不能修復不安全的語句——開發人員必須正確地使用它們。例如,像傳統語句一樣使用預處理語句——也就是使用字元串拼接來綁定SQL查詢——而不是對查詢的可變部分使用佔位符會導致類似的漏洞。

3
輸出校驗

在將一個進程的輸出發送之前進行校驗能夠避免用戶收到他們不應該看到的信息,例如應用程序內部的異常細節,這些信息有助於發起其他的攻擊。在輸出校驗的另一個例子當中,保護系統會搜索應用程序輸出的關鍵信息,如信用卡號,並在發送給前端之前用星號代替。將信息編碼是能夠避免XSS漏洞的一種輸出校驗方式。如果發送給瀏覽器的數據要顯示在Web頁面上,它應該進行HTML編碼或百分號編碼,這取決於它在頁面的位置。通過這種方式,XSS所用的惡意字元不再具有破壞性,而且編碼會保留數據的原來意義。

J. web前端開發面臨的挑戰主要是有哪些

平時工作,多數是開發Web項目,由於一般是開發內部使用的業務系統,所以對於安全性一般不是看的很重,基本上由於是內網系統,一般也很少會受到攻擊,但有時候一些系統平台,需要外網也要使用,這種情況下,各方面的安全性就要求比較高了。

1、測試的步驟及內容

這些安全性測試,據了解一般是先收集數據,然後進行相關的滲透測試工作,獲取到網站或者系統的一些敏感數據,從而可能達到控制或者破壞系統的目的。

2、SQL注入漏洞的出現和修復

SQL注入定義:

SQL注入攻擊是黑客對資料庫進行攻擊的常用手段之一。隨著B/S模式應用開發的發展,使用這種模式編寫應用程序的程序員也越來越多。但是由於程序員的水平及經驗也參差不齊,相當大一部分程序員在編寫代碼的時候,沒有對用戶輸入數據的合法性進行判斷,使應用程序存在安全隱患。用戶可以提交一段資料庫查詢代碼,根據程序返回的結果,獲得某些他想得知的數據,這就是所謂的SQL Injection,即SQL注入。

SQL注入有時候,在地址參數輸入,或者控制項輸入都有可能進行。如在鏈接後加入』號,頁面報錯,並暴露出網站的物理路徑在很多時候,很常見,當然如果關閉了Web.Config的CustomErrors的時候,可能就不會看到。

3、跨站腳本攻擊漏洞出現和修復

跨站腳本攻擊,又稱XSS代碼攻擊,也是一種常見的腳本注入攻擊。例如在界面上,很多輸入框是可以隨意輸入內容的,特別是一些文本編輯框裡面,可以輸入例如這樣的內容,如果在一些首頁出現很多這樣內容,而又不經過處理,那麼頁面就不斷的彈框,更有甚者,在裡面執行一個無限循環的腳本函數,直到頁面耗盡資源為止,類似這樣的攻擊都是很常見的,所以我們如果是在外網或者很有危險的網路上發布程序,一般都需要對這些問題進行修復。