Web開發特點都有哪些

2021-03-19 18:27:33 字數 5252 閱讀 4785

1樓:育知同創教育

web應用程式一般為b/s模式,b/s模式有以下特點:

1開發、維護和升級更經濟。

2提供了一致的使用者介面。

3開放性強。

4結構擴充套件性好,易於擴充套件。

5資訊系統整合性更強。

網路攻擊形式有哪些:web開發與web前端開發

2樓:育知同創教育

web服務和osi層

現代web應用程式通常不僅僅是以簡單網頁的形式提供內容。 業務邏輯和資料倉儲元件(如資料庫伺服器,應用程式伺服器和中介軟體軟體)也用於生成並向**使用者提供業務特定資料。 這些元件通常安裝並執行在一組單獨的伺服器上,並且可能共享或不共享儲存空間。

高階web應用程式**可以在內部呼叫託管在不同伺服器上的web服務,並將結果頁面傳遞給客戶端。 web程式設計師還使用cookie來維護會話,並在客戶端瀏覽器中儲存特定於會話的資訊。

網頁劫持

破解一個**是相當容易的。新手可能會試圖從**竊取資料,而專業人士可能會因為破壞**或使用網路伺服器傳播病毒而造成嚴重破壞。與大多數其他攻擊不同,web攻擊所用的技術範圍從第2層到第7層,因此web伺服器很容易受到各種可能的黑客攻擊。

由於防火牆埠必須為web服務開啟(預設情況下是埠80),因此它無法阻止第7層的攻擊,這使得對web攻擊的檢測變得困難。請參考下圖,它顯示了用於形成web門戶基礎設施的典型元件。

web門戶基礎設施

從安全的角度來看,這些元件中的每一個都有一些弱點,如果被利用,就會導致web內容的入侵。現在讓我們詳細討論一些常見但危險的攻擊。

dos和嗅探

由於該**的ip地址是開放給網際網路的,因此拒絕服務攻擊很容易使web伺服器停機。類似地,如果在web設計過程中沒有進行加密或其他安全措施,那麼可以很容易地使用包嗅探器來捕獲純文字使用者id和密碼。几几乎所有第2層和第3層攻擊(如資料包洪泛,syn洪泛等)都可能在**ip和其所在的埠上。

http dos攻擊

與基於網路的拒絕服務攻擊不同,http dos攻擊在第7層工作。在這種型別的攻擊中,**以程式設計的方式爬行獲取要訪問的頁面列表,在此期間攻擊者還記錄伺服器處理每個頁面所需的時間。選擇需要更高處理時間的頁面,並將多個http請求傳送到web伺服器,每個請求請求其中一個所選頁面。

為了滿足每個請求,web伺服器開始消耗資源。 達到資源限制後,最終放棄並停止響應。眾所周知,攻擊者使用簡單的指令碼建立大量的http get請求來實現此攻擊。

如果**只包含簡單的靜態html頁面,那麼這種攻擊就不會很有效。但是,如果動態頁面從後端資料庫伺服器中提取資料,那麼這種攻擊就會造成相當大的損害。

雖然它可能或不會導致資料竊取,但它肯定會關閉**,造成使用者體驗不良,並損害聲譽。必須部署智慧技術來檢測和停止此類攻擊,我們將很快了解這些攻擊。

訪問控制開發

通常,在web門戶的情況下,使用者會得到一個id和一個密碼來登入並執行某些功能。門戶管理人員也為維護和資料管理提供了自己的憑證。如果web服務和應用程式不是從編碼的角度設計的,那麼就可以利用它們來獲得更高的特權。

例如,如果web伺服器未使用最新的安全修補程式進行修補,這可能導致遠端**執行,攻擊者可能會編寫一個指令碼來利用該漏洞,並訪問伺服器並遠端控制它。 在某些情況下,可能會發生這種情況,因為沒有遵循最佳的編碼和安全實踐,在安全配置中留下空白,並使web解決方案容易受到攻擊。

表單輸入無效

許多**使用由**使用者填寫的表單,並提交給伺服器。 然後,伺服器驗證輸入並將其儲存到資料庫。 驗證過程有時委託給客戶端瀏覽器或資料庫伺服器。

如果這些驗證不夠強大或沒有正確程式設計,他們可能會留下可以被攻擊者利用的安全漏洞。

例如,如果一個欄位如pan號碼是強制性的,並且如果重複條目的驗證不能正確完成,則攻擊者可以用偽pan號碼以程式設計方式提交表單,從而以假條目填充資料庫。 這最終可以幫助攻擊者種植拒絕服務(dos)攻擊,只需查詢頁面,詢問不存在的條目。

**挖掘

雖然這與之前的漏洞有點類似,但在破解它的方式上有一些不同。通常,程式設計師在為各種使用者輸入設定限制時,會做出假設。典型的例子是使用者名稱不應該超過50個字元,或者數字值永遠是正數,等等。

從安全的觀點來看,這些假設是危險的,因為駭客可以利用它們。例如,通過填充具有100個字元的名稱欄位,從而對資料集施加壓力,或者通過在數值欄位中提供負整數來建立不正確的計算結果。

上面提到的所有攻擊都是新手攻擊者使用的,遵循好的程式設計實踐可以幫助他們停止攻擊。現在我們來看看技術先進的攻擊,這在今天也很常見。

cookie中毒

如前所述,cookie是駐留在瀏覽器中的小資訊片段(在客戶端計算機的硬碟驅動器上),並用於儲存使用者會話特定的資訊。它是一個cookie,它能記住我們的購物車內容、我們的偏好和以前的登入資訊,以便提供豐富的web體驗。

雖然篡改cookie並不是很容易,但是專業攻擊者可以控制它並操縱其內容。 中毒是通過木馬或病毒實現的,該病毒位於後臺,並持續偽造cookies以收集使用者的個人資訊並將其傳送給攻擊者。

此外,病毒還可以改變cookie的內容,導致嚴重的問題,例如提交購物車內容,以便將購買的商品交付給黑客可訪問的虛擬地址,或讓瀏覽器連線到廣告 伺服器,這有助於攻擊者獲得資金等。如果會話資訊儲存在cookie中,專業攻擊者可以訪問它並竊取會話,從而導致中間人的攻擊。

會話劫持

web伺服器同時與多個瀏覽器進行對話,以接收請求並交付所請求的內容。當每個連線被建立時,web伺服器需要有一種方法來維護每個連線的唯一性。它使用會話令牌來生成動態生成的文字字串,這些字串包括ip地址、日期、時間等。

攻擊者可以通過在網路上以程式設計方式或嗅探,或通過對受害者計算機執行客戶端指令碼攻擊來竊取該令牌。 一旦被盜,該令牌可用於建立假web請求並竊取受害者使用者的會話和資訊。

url查詢字串篡改

從資料庫伺服器中提取資料並將其顯示在網頁上的**經常被發現在主url中使用查詢字串。 例如,如果**url是// ****seo7.

cc /,它可以使用// ****seo7.cc /showdata?

field1=10&field2=15作為引數傳遞field1和field2,並將它們分別 值到資料庫,結果輸出以網頁的形式提供給瀏覽器。

使這個查詢字串格式容易暴露,使用者可以編輯和更改超出預期限制的欄位值,或者用垃圾字元填充欄位值。 它可以進一步導致使用者獲得他們不應該獲得的資訊。 在最壞的情況下,如果欄位值是使用者名稱和密碼,則只能通過http使用暴力字典攻擊來獲取系統級訪問許可權。

跨站點指令碼

這是web技術中最常見的弱點,它可以吸引xss(跨站點指令碼)對所有主要站點和著名站點的攻擊。人們已經發現,即使在今天,大量的**也很容易受到這種攻擊。這個漏洞是由於不適當的程式設計實踐和在web基礎結構中無法獲得適當的安全措施造成的。

我們知道,客戶端瀏覽器維護自己的安全性,不允許任何人訪問**內容和**cookie,使用者本身除外。 在這種情況下,web應用程式中的漏洞讓破解者將客戶端**注入使用者訪問的頁面。 這段**通常使用javascript編寫。

要了解這一點,請考慮將使用者名稱作為輸入的頁面,並在螢幕上顯示「歡迎使用者名稱」。 讓我們假設輸入框用javascript替代,如下所示:

這裡,web頁面可能會最終執行指令碼標籤,顯示對話方塊訊息「you are in trouble」。 這可以由攻擊者進一步利用,只需中斷cookie,竊取會話並將該**注入受害者使用者的瀏覽器。 一旦這樣做,javascript**將在受害者的瀏覽器中執行,並儘可能造成損害。

sql注入

如前所述,web門戶在後端使用資料庫伺服器,web頁面連線到資料庫,查詢資料,並將所獲取的資料以web格式呈現給瀏覽器。如果客戶端上的輸入在以查詢形式傳送到資料庫之前沒有經過適當的過濾,就可能發生sql注入攻擊。這可能導致操作sql語句的可能性,以便在資料庫上執行無效的操作。

這種攻擊的一個常見示例是由web應用程式訪問的sql server,其中sql語句沒有經過中介軟體或驗證**元件的過濾。這可能導致攻擊者能夠在後端資料庫伺服器上建立和執行自己的sql語句,這可能是簡單的select語句來獲取和竊取資料,或者可能像刪除整個資料表一樣嚴重。在其他情況下,資料可以通過使用惡意的和虛假的內容填充記錄集來破壞。

儘管網路安全意識越來越高,但許多**仍然可以進行sql注入攻擊。

雖然在本文中不可能涵蓋所有可能的攻擊,但讓我們來看看一些不太為人所熟知的攻擊,這些攻擊越來越多地被用於攻擊**。

緩慢的http攻擊

雖然這一方法與拒絕服務攻擊類似,但該技術略有不同。它利用了一個事實,即每個http請求都必須由web伺服器偵聽。每個web請求都以一個名為content-length的欄位開頭,它告訴伺服器需要多少位元組,並以回車和換行(crlf)字元組合結束。

http請求由內容長度較大的攻擊者發起,而不是傳送crlf來結束請求,因此通過向web伺服器傳送非常少量的資料來簡單地延遲。 這使得web伺服器等待尚未到來的更多資料來完成請求。 這消耗了web伺服器的資源。

如果請求延遲到一個小於伺服器上會話超時設定的點,那麼多個這樣的慢請求可以完全消耗資源並建立拒絕服務攻擊。這可以通過只從一個瀏覽器建立緩慢和延遲的請求來實現,這從安全的角度來看是很危險的。

加密開發

導致了一種幻覺,認為一切都是安全的,不幸的是,情況並非如此。許多購物車應用程式忘記進一步加密cookie內容,並將它們放在純文字中。儘管ssl上的資料受到ssl的保護,但執行客戶端指令碼攔截cookie並讀取其內容可能會導致資料或會話被盜。

對於ssl,現代攻擊者使用工具來檢測和破壞較弱的密碼演算法,從而使ssl保護失效,儘管這不是很常見。

保護開源軟體系統

apache執行在centods/red hat、ubuntu和debian上,在嚴重的foss web基礎架構和解決方案中獲得了廣泛的歡迎。第一步是加強apache web服務本身;在inter***上有許多關於這方面的指南和例子--對於每個linux發行版,以及示例。

強烈建議禁用除web服務埠之外的其他埠,以及停止和禁用不必要的服務。部署一個配置良好的防火牆或入侵檢測裝置是至關重要的。正如前面提到的,一個簡單的防火牆是不夠的;因此,需要一個能夠檢測web層攻擊的內容過濾防火牆。

保護web門戶不僅限於web伺服器,還可以擴充套件到諸如資料庫伺服器,web服務等元件。從網路安全的角度來看,只允許從前端web伺服器到資料庫的ip連線是一個很好的 理念。 執行rootkit檢測器,防病毒工具和日誌分析器必須是常規工作,以防止黑客攻擊。

對於中介軟體和web伺服器之間的高階安全性,還應該有一個更強大的身份驗證機制。應該對cookie進行加密和ssl部署,並使用更強的密碼演算法。

從編碼的角度來看,如前所述,使用安全程式設計技術是至關重要的,也是遵循最佳的安全措施,如**審查和滲透測試。 還建議使用其他程序,如輸入**驗證,伺服器和資料庫端驗證。

web開發是攻擊**的常見方式。 由於其易用的可用性和可程式設計性,foss基礎架構也容易遭受這種攻擊,因此網路管理員必須瞭解技術來保護其基礎架構免遭資訊丟失或被盜。

web前端開發都有哪些常見的工具?

藍湖 git vscode webstorm 微信開發者工具,支付寶開發工具等等,每個人的習慣和企業的工具使用情況都是不一樣的,具體要用啥可以根據當下的環境來選擇。web前端開發常用又好用的幾個軟體 vscode 前端開發必備,外掛多,介面美觀。webstorm 不需要安裝什麼外掛,本身功能非常強大...

學習WEB前端怎樣入門,web前端開發 」怎麼學習,怎麼入門

學電腦技術的話可以到專業的計算機培訓學校山東新華瞭解一下,開設有電子競技 開發 人工智慧 電子商務 室內設計 5g新 直播等23大熱門專業,都是零基礎教學 初學者怎麼學習web前端?web前端入門簡單,非常適合零基礎小白去學的。想學好web前端,怎麼少得了一份學習路線?下面分享一份自己收藏的web前...

web前端開發怎麼自學,如何才能自學Web前端?

自學web前端必須明確的幾點 明確你將來是做什麼工作的,需要掌握哪些技能,很多人連這個就不知道就盲目的學,你首先清楚,現在公司需要什麼人才,你應該奔著什麼目標努力。系統的學習規劃,規劃好你每天學習的新知識和每天做的作業和練習,很多人想自學web前端,兩個就看完了,這樣的能找到工作算是出奇了,現在學習...