JavaWeb程序設(shè)計 課件 ch15 Web 網(wǎng)站安全_第1頁
JavaWeb程序設(shè)計 課件 ch15 Web 網(wǎng)站安全_第2頁
JavaWeb程序設(shè)計 課件 ch15 Web 網(wǎng)站安全_第3頁
JavaWeb程序設(shè)計 課件 ch15 Web 網(wǎng)站安全_第4頁
JavaWeb程序設(shè)計 課件 ch15 Web 網(wǎng)站安全_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第15章Web網(wǎng)站安全本課教學(xué)內(nèi)容URL操作攻擊Web跨站腳本攻擊SQL注入密碼保護(hù)與驗證URL操作攻擊URL操作攻擊介紹例子中,該訂單從數(shù)據(jù)庫獲取數(shù)據(jù)的URL為:http://IP:端口/目錄/display.jsp?orderno=10034562因為第一個訂單的編號為10034562,所以,從客戶端源代碼上講,第一個訂單右邊的"查看明細(xì)"鏈接看起來是這樣的:URL操作攻擊URL操作攻擊介紹

<ahref="http://IP:端口/目錄/display.jsp?orderno=10034562">查看明細(xì)</a>

該URL非常直觀,可以從中看到是獲取訂單號為10034562的數(shù)據(jù),因此,給了攻擊者機(jī)會。URL操作攻擊URL操作攻擊介紹攻擊者可以很容易地嘗試將如下URL輸入到地址欄中http://IP:端口/目錄/display.jsp?orderno=10034563表示命令數(shù)據(jù)庫查詢訂單號為10034563的明細(xì)信息。因為該訂單明細(xì)在數(shù)據(jù)庫表的T_ORDERITEM中存在,這里就造成了一個不安全的現(xiàn)象:用戶可以查詢不是他購買的鮮花訂單信息。URL操作攻擊還有更加嚴(yán)重的情況,如果網(wǎng)站足夠不安全的話,攻擊者可以不用登錄,直接輸入上面格式的URL(如http://IP:端口/目錄/display.jsp?orderno=10034585),將信息顯示出來。這樣,上面的Web程序?qū)е略擋r花訂購系統(tǒng)網(wǎng)站為URL操作攻擊敞開了大門解決方法要解決以上URL操作攻擊,需要程序員進(jìn)行非常周全的考慮。程序員在編寫Web應(yīng)用的時候,可以從以下兩個方面加以注意:1.

為了避免非登錄用戶進(jìn)行訪問,對于每一個只有登錄成功才能訪問的頁面,應(yīng)該進(jìn)行session的檢查(session檢查的內(nèi)容已經(jīng)在前面章節(jié)提到)2.為限制用戶訪問未被授權(quán)的資源,可在查詢時將登錄用戶的用戶名也考慮進(jìn)去。如用戶名為guokehua,所以guokehua的每一個訂單后面的"查看明細(xì)"鏈接可以設(shè)計為這樣:<ahref="http://IP:端口/目錄/display.jsp?orderno=10034563&account=guokehua"> 查看明細(xì) </a>解決方法解決方法 這樣,用于該訂單從數(shù)據(jù)庫獲取數(shù)據(jù)的URL為: http://ip:端口/目錄/display.jsp?orderno=10034563&account=guokehua在向數(shù)據(jù)庫查詢時,就可以首先檢查"guokehua"是否在登錄狀態(tài),然后根據(jù)訂單號(10034563)和用戶名(guokehua)綜合進(jìn)行查詢。這樣,攻擊者單獨輸入訂單號,或者輸入訂單號和未登錄的用戶名,都無法顯示結(jié)果Web跨站腳本攻擊跨站腳本攻擊的原理跨站腳本在英文中稱為Cross-SiteScripting,縮寫為CSS。但是,由于層疊樣式表(CascadingStyleSheets)的縮寫也為CSS,為不與其混淆,特將跨站腳本縮寫為XSSWeb跨站腳本攻擊跨站腳本攻擊的原理

跨站腳本,顧名思義,就是惡意攻擊者利用網(wǎng)站漏洞往Web頁面里插入惡意代碼??缯灸_本攻擊,一般需要以下幾個條件:Web跨站腳本攻擊跨站腳本攻擊條件:客戶端訪問的網(wǎng)站是一個有漏洞的網(wǎng)站,但是他沒有意識到攻擊者在這個網(wǎng)站中,通過一些手段放入一段可以執(zhí)行的代碼,吸引客戶執(zhí)行(如通過鼠標(biāo)點擊等)客戶點擊后,代碼執(zhí)行,可以達(dá)到攻擊目的Web跨站腳本攻擊具體代碼示例見課本W(wǎng)eb跨站腳本攻擊在實際項目中,攻擊過程稍微復(fù)雜一些。如前所述,攻擊者為了得到客戶的隱秘信息,一般會在網(wǎng)站中通過一些手段放入一段可以執(zhí)行的代碼,吸引客戶執(zhí)行(通過鼠標(biāo)點擊等);客戶點擊后,代碼執(zhí)行,可以達(dá)到攻擊目的。Web跨站腳本攻擊以下這些程序模擬了一個通過站內(nèi)點擊鏈接的攻擊過程。login.jsp、loginResult.jsp、mailList.jsp、attackPage.asp具體代碼示例見課本跨站腳本攻擊的危害XSS攻擊的主要危害包括:盜取用戶的各類敏感信息,如賬號密碼等讀取、篡改、添加、刪除企業(yè)敏感數(shù)據(jù)讀取企業(yè)重要的具有商業(yè)價值的資料控制受害者機(jī)器向其他網(wǎng)站發(fā)起攻擊防范方法對于XSS攻擊的防范,主要從網(wǎng)站開發(fā)者角度和用戶角度來闡述從網(wǎng)站開發(fā)者角度,對XSS最佳的防護(hù)主要體現(xiàn)在以下兩個方面:1.對于任意的輸入數(shù)據(jù)應(yīng)該進(jìn)行驗證,以有效檢測攻擊防范方法2.對于任意的輸出數(shù)據(jù),要進(jìn)行適當(dāng)?shù)木幋a,防止任何已成功注入的腳本在瀏覽器端運行;數(shù)據(jù)輸出前,確保用戶提交的數(shù)據(jù)已被正確進(jìn)行編碼;可在代碼中明確指定輸出的編碼方式(如ISO-8859-1),而不是讓攻擊者發(fā)送一個由他自己編碼的腳本給用戶防范方法以下具體闡述一種實現(xiàn)方法:XSS攻擊的一個來源在于,用戶登錄時,可以讓那些特殊的字符也輸入進(jìn)去。因此可在表單提交的過程中,利用一定手段來進(jìn)行限制。例如,可以限制輸入的字符數(shù),來阻止那些較長的script的輸入。另外可以Javascript來對字符進(jìn)行過濾,將一些如%、<、>、[、]、{、}、;、&、+、-、"、(、)的字符過濾掉。防范方法從網(wǎng)站用戶角度1.作為網(wǎng)站用戶,打開一些Email或附件、瀏覽論壇帖子時,做操作時一定要特別謹(jǐn)慎,否則有可能導(dǎo)致惡意腳本執(zhí)行。不過,也可以在瀏覽器設(shè)置中關(guān)閉JavaScript2.如果是IE的,可以點擊"工具"——"Internet選項"——"安全"——"自定義級別"進(jìn)行設(shè)置SQL注入SQL注入的原理

SQL注入在英文中稱為SQLInjection,是黑客對Web數(shù)據(jù)庫進(jìn)行攻擊的常用手段之一。在這種攻擊方式中,惡意代碼被插入到查詢字符串中,然后將該字符串傳遞到數(shù)據(jù)庫服務(wù)器進(jìn)行執(zhí)行,根據(jù)數(shù)據(jù)庫返回的結(jié)果,獲得某些數(shù)據(jù)并發(fā)起進(jìn)一步攻擊。SQL注入具體代碼示例見課本SQL注入攻擊的危害SQL注入攻擊的主要危害包括:非法讀取、篡改、添加、刪除數(shù)據(jù)庫中的數(shù)據(jù)。盜取用戶的各類敏感信息,獲取利益通過修改數(shù)據(jù)庫來修改網(wǎng)頁上的內(nèi)容私自添加或刪除賬號注入木馬等SQL注入攻擊的危害由于SQL注入攻擊一般利用的是SQL語法,這使得于所有基于SQL語言標(biāo)準(zhǔn)的數(shù)據(jù)庫軟件,如SQLServer,Oracle,MySQL,DB2等都有可能受到攻擊,并且攻擊的發(fā)生和Web編程語言本身也無關(guān),如ASP、JSP、PHP,在理論上都無法完全幸免。SQL注入攻擊的危害SQL注入攻擊的危險是比較大的。很多其他的攻擊,如DoS等,可能通過防火墻等手段進(jìn)行阻攔,但是而對于SQL注入攻擊,由于注入訪問是通過正常用戶端進(jìn)行的,所以普通防火墻對此不會發(fā)出警示,一般只能通過程序來控制,而SQL攻擊一般可以直接訪問數(shù)據(jù)庫,進(jìn)而甚至能夠獲得數(shù)據(jù)庫所在的服務(wù)器的訪問權(quán),因此,危害相當(dāng)嚴(yán)重。防范方法以上問題的解決方法有很多種,比較常見的有:將輸入中的單引號變成雙引號使用存儲過程認(rèn)真對表單輸入進(jìn)行校驗,從查詢變量中濾去盡可能多的可疑字符使用編程技巧密碼保護(hù)與驗證Web網(wǎng)站中,很多系統(tǒng)中都涉及到存儲用戶密碼。怎樣將密碼儲存到數(shù)據(jù)庫中?如果密碼能夠以明文形式被看到,很明顯,一旦攻擊者取得了管理員權(quán)限,或者攻擊者本身就是管理員,就可以看到用戶密碼。因此,密碼保護(hù)顯得非常重要密碼保護(hù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論