㈠ 黑客攻擊的三個階段是什麼黑客在這三個階段分別完成什麼工作
1. 鎖定目標
攻擊的第一步就是要確定目標的位置,在互聯網上,就是要知道這台主機的域名或者IP地址, 知道了要攻擊目標的位置還不夠,還需要了解系統類型、操作系統、所提供的服務等全面的資料,如何獲取相關信息,下面我們將詳細介紹。
2. 信息收集
如何才能了解到目標的系統類型、操作系統、提供的服務等全面的資料呢?黑客一般會利用下列的公開協議或工具來收集目標的相關信息。
(1)SNMP 協議:用來查閱網路系統路由器的路由表,從而了解目標主機所在網路的拓撲結構及其內部細節;
(2)TraceRoute程序:用該程序獲得到達目標主機所要經過的網路數和路由器數;
(3)Whois協議:該協議的服務信息能提供所有有關的DNS域和相關的管理參數;
(4)DNS伺服器:該伺服器提供了系統中可以訪問的主機的IP地址表和它們所對應的主機名;
(5)Finger協議:用來獲取一個指定主機上的所有用戶的詳細信息(如注冊名、電話號碼、最後注冊時間以及他們有沒有讀郵件等等);
(6)ping:可以用來確定一個指定的主機的位置;
(7)自動Wardialing軟體:可以向目標站點一次連續撥出大批電話號碼,直到遇到某一正確的號碼使其MODEM響應為止。
3. 系統分析
當一個黑客鎖定目標之後,黑客就開始掃描分析系統的安全弱點了。黑客一般可能使用下列方式來自動掃描駐留在網路上的主機。
(1)自編入侵程序
對於某些產品或者系統,已經發現了一些安全漏洞,該產品或系統的廠商或組織會提供一些「補丁」程序來進行彌補。但是有些系統常常沒有及時打補丁,當黑客發現這些「補丁」程序的介面後就會自己編寫能夠從介面入侵的程序,通過這個介面進入目標系統,這時系統對於黑客來講就變得一覽無余了。
(2)利用公開的工具
像 Internet 的電子安全掃描程序 ISS(Intemet Security Scanner)、審計網路用的安全分析工具 SATAN ( Securi Ana1ysis Tool for Auditing Network)等。這些工具可以對整個網路或子網進行掃描,尋找安全漏洞。這些工具都有兩面性,就看是什麼人在使用它們了。系統管理員可以使用它們來幫助發現其管理的網路系統內部隱藏的安全漏洞,從而確定系統中哪些主機需要用「補丁」程序去堵塞漏洞,從而提高網路的安全性能。而如果被黑客所利用,則可能通過它們來收集目標系統的信息,發現漏洞後進行入侵並可能獲取目標系統的非法訪問權。
4. 發動攻擊
完成了對目標的掃描和分析,找到系統的安全弱點或漏洞後,那就是萬事具備,只欠攻擊了,接下來是黑客們要做的關鍵步驟——發動攻擊。
黑客一旦獲得了對你的系統的訪問權後,可能有下述多種選擇:
(1)試圖毀掉攻擊入侵的痕跡,並在受到損害的系統上建立另外的新的安全漏洞或後門,以便在先前的攻擊點被發現之後,繼續訪問這個系統;
(2)在你的系統中安裝探測軟體,包括木馬等,用以掌握你的一切活動,以收集他比較感興趣的東西(不要以為人人都想偷窺你的信件,人家更感興趣的是你的電子銀行帳號和密碼之類);
(3)如果你是在一個區域網中,黑客就可能會利用你的電腦作為對整個網路展開攻擊的大本營,這時你不僅是受害者,而且還會成為幫凶和替罪羊。
㈡ jsp頁面線程安全嗎
一般都是不安全的,你可以加isThreadSafe來讓他安全些:
<%@ page language="java" import="java.util.*" pageEncoding="GBK" isThreadSafe="true"%>
------------------------------------------------------------------------------
JSP默認是以多線程方式執行的,這是JSP與ASP,PHP,PERL等腳本語言不一樣的地方,也是它的優勢之一,但如果不注意多線程中的同步問題,會使所寫的JSP程序有難以發現的錯誤。下面以一個例子說明JSP中的多線程問題及解決方法。
一、JSP的中存在的多線程問題:
當客戶端第一次請求某一個JSP文件時,服務端把該JSP編譯成一個CLASS文件,並創建一個該類的實例,然後創建一個線程處理CLIENT端的請求。如果有多個客戶端同時請求該JSP文件,則服務端會創建多個線程。每個客戶端請求對應一個線程。以多線程方式執行可大大降低對系統的資源需求,提高系統的並發量及響應時間.對JSP中可能用的的變數說明如下:
1.實例變數
實例變數是在堆中分配的,並被屬於該實例的所有線程共享,所以不是線程安全的.
2.JSP系統提供的8個類變數
JSP中用到的OUT,REQUEST,RESPONSE,SESSION,CONFIG,PAGE,PAGECONXT是線程安全的,APPLICATION在整個系統內被使用,所以不是線程安全的.
3.局部變數
局部變數在堆棧中分配,因為每個線程都有它自己的堆棧空間,所以是線程安全的.
4.靜態類
靜態類不用被實例化,就可直接使用,也不是線程安全的.
5.外部資源:
在程序中可能會有多個線程或進程同時操作同一個資源(如:多個線程或進程同時對一個文件進行寫操作).此時也要注意同步問題.
--摘自教程網:《編寫線程安全的JSP程序》(徐春金)