日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

网络安全面试题及答案

發布時間:2023/12/2 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网络安全面试题及答案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

網絡安全面試題及答案
防范常見的 Web 攻擊
重要協議分布層
arp 協議的工作原理
rip 協議是什么?rip 的工作原理
什么是 RARP?工作原理
OSPF 協議?OSPF 的工作原理
TCP 與 UDP 區別總結
什么是三次握手四次揮手?
tcp 為什么要三次握手?
dns 是什么?dns 的工作原理
一次完整的 HTTP 請求過程
Cookies 和 session 區別
GET 和 POST 的區別
HTTPS 和 HTTP 的區別
session 的工作原理?
http 長連接和短連接的區別
OSI 的七層模型都有哪些?
session 的工作原理?什么是 TCP 粘包/拆包?發生原因?解決方案
TCP 如何保證可靠傳輸?
URI 和 URL 的區別
什么是 SSL ?
https 是如何保證數據傳輸的安全(SSL 是怎么工作保證安全的)
TCP 對應的應用層協議,UDP 對應的應用層協議
常見的狀態碼有哪些?
防范常見的 Web 攻擊
什么是 SQL 注入攻擊
攻擊者在 HTTP 請求中注入惡意的 SQL 代碼,服務器使用參數構建數據庫 SQL 命令時,惡意
SQL 被一起構造,并在數據庫中執行。
用戶登錄,輸入用戶名 lianggzone,密碼 ‘ or ‘1’=’1 ,如果此時使用參數構造的方
式,就會出現
select * from user where name = ‘lianggzone’ and password = ‘’ or ‘1’=‘1’
不管用戶名和密碼是什么內容,使查詢出來的用戶列表不為空。如何防范 SQL 注入攻擊使
用預編譯的 PrepareStatement 是必須的,但是一般我們會從兩個方面同時入手。
Web 端
1)有效性檢驗。
2)限制字符串輸入的長度。
服務端
1)不用拼接 SQL 字符串。
2)使用預編譯的 PrepareStatement。3)有效性檢驗。(為什么服務端還要做有效性檢驗?第一準則,外部都是不可信的,防止攻
擊者繞過 Web 端請求)
4)過濾 SQL 需要的參數中的特殊字符。比如單引號、雙引號。
什么是 XSS 攻擊
跨站點腳本攻擊,指攻擊者通過篡改網頁,嵌入惡意腳本程序,在用戶瀏覽網頁時,控制
用戶瀏覽器進行惡意操作的一種攻擊方式。如何防范 XSS 攻擊
1)前端,服務端,同時需要字符串輸入的長度限制。
2)前端,服務端,同時需要對 HTML 轉義處理。將其中的”<”,”>”等特殊字符進行轉義
編碼。
防 XSS 的核心是必須對輸入的數據做過濾處理。
什么是 CSRF 攻擊
跨站點請求偽造,指攻擊者通過跨站請求,以合法的用戶的身份進行非法操作。可以這么
理解 CSRF 攻擊:攻擊者盜用你的身份,以你的名義向第三方網站發送惡意請求。CRSF 能做
的事情包括利用你的身份發郵件,發短信,進行交易轉賬,甚至盜取賬號信息。如何防范
CSRF 攻擊
安全框架,例如 Spring Security。
token 機制。在 HTTP 請求中進行 token 驗證,如果請求中沒有 token 或者 token 內容不正確,
則認為 CSRF 攻擊而拒絕該請求。
驗證碼。通常情況下,驗證碼能夠很好的遏制 CSRF 攻擊,但是很多情況下,出于用戶體驗
考慮,驗證碼只能作為一種輔助手段,而不是最主要的解決方案。
referer 識別。在 HTTP Header 中有一個字段 Referer,它記錄了 HTTP 請求的來源地址。如
果 Referer 是其他網站,就有可能是 CSRF 攻擊,則拒絕該請求。但是,服務器并非都能取
到 Referer。很多用戶出于隱私保護的考慮,限制了 Referer 的發送。在某些情況下,瀏覽器
也不會發送 Referer,例如 HTTPS 跳轉到 HTTP。
1)驗證請求來源地址;
2)關鍵操作添加驗證碼;
3)在請求地址添加 token 并驗證。
什么是文件上傳漏洞
文件上傳漏洞,指的是用戶上傳一個可執行的腳本文件,并通過此腳本文件獲得了執行服
務端命令的能力。
許多第三方框架、服務,都曾經被爆出文件上傳漏洞,比如很早之前的 Struts2,以及富文
本編輯器等等,可被攻擊者上傳惡意代碼,有可能服務端就被人黑了。如何防范文件上傳
漏洞
文件上傳的目錄設置為不可執行。
1)判斷文件類型。在判斷文件類型的時候,可以結合使用 MIME Type,后綴檢查等方式。
因為對于上傳文件,不能簡單地通過后綴名稱來判斷文件的類型,因為攻擊者可以將可執
行文件的后綴名稱改為圖片或其他后綴類型,誘導用戶執行。
2)對上傳的文件類型進行白名單校驗,只允許上傳可靠類型。
3)上傳的文件需要進行重新命名,使攻擊者無法猜想上傳文件的訪問路徑,將極大地增加
攻擊成本,同時向 shell.php.rar.ara 這種文件,因為重命名而無法成功實施攻擊。
4)限制上傳文件的大小。5)單獨設置文件服務器的域名。
DDos 攻擊
客戶端向服務端發送請求鏈接數據包,服務端向客戶端發送確認數據包,客戶端不向服務
端發送確認數據包,服務器一直等待來自客戶端的確認
沒有徹底根治的辦法,除非不使用 TCP
DDos 預防:
1)限制同時打開 SYN 半鏈接的數目
2)縮短 SYN 半鏈接的 Time out 時間
3)關閉不必要的服務
重要協議分布圖
arp 協議的工作原理
地址解析協議,即 ARP(Address Resolution Protocol),是根據 IP 地址獲取物理地址的一個
TCP/IP 協議。
1.發送 ARP 請求的以太網數據幀 廣播 到以太網上的每個主機,ARP 請求幀中包含了目的
主機的 IP 地址。
2.目的主機收到了該 ARP 請求之后,會發送一個 ARP 應答,里面包含了目的主機的 MAC 地
址。
ARP 協議工作原理:
每個主機都會在自己的 ARP 緩沖區中建立一個 ARP 列表,以表示 IP 地址和 MAC 地址
之間的對應關系。
主機(網絡接口)新加入網絡時(也可能只是 mac 地址發生變化,接口重啟等), 會發送
免費 ARP 報文把自己 IP 地址與 Mac 地址的映射關系廣播給其他主機。
網絡上的主機接收到免費 ARP 報文時,會更新自己的 ARP 緩沖區。將新的映射關系更新到
自己的 ARP 表中。
某個主機需要發送報文時,首先檢查 ARP 列表中是否有對應 IP 地址的目的主機的 MAC
地址,如果有,則直接發送數據,如果沒有,就向本網段的所有主機發送
ARP 數據包,該
數據包包括的內容有:源主機 IP
地址,源主機 MAC 地址,目的主機的
IP 地址等。
當本網絡的所有主機收到該 ARP
數據包時:
(A)首先檢查數據包中的 IP 地址是否是自己的 IP 地址,如果不是,則忽略該數據包。
(B)如果是,則首先從數據包中取出源主機的 IP 和 MAC 地址寫入到 ARP 列表中,如
果已經存在,則覆蓋。
(C) 然后將自己的 MAC 地址寫入 ARP 響應包中,告訴源主機自己是它想要找的 MAC
地址。
6.源主機收到 ARP 響應包后。將目的主機的 IP 和 MAC 地址寫入 ARP 列表,并利用此
信息發送數據。如果源主機一直沒有收到 ARP 響應數據包,表示 ARP 查詢失敗。ARP 高
速緩存(即 ARP 表)是 ARP 地址解析協議能夠高效運行的關鍵
什么是 RARP?工作原理
概括: 反向地址轉換協議,網絡層協議,RARP 與 ARP 工作方式相反。 RARP 使只知道自
己硬件地址的主機能夠知道其 IP 地址。RARP 發出要反向解釋的物理地址并希望返回其 IP地址,應答包括能夠提供所需信息的 RARP 服務器發出的 IP 地址。
原理:
(1)網絡上的每臺設備都會有一個獨一無二的硬件地址,通常是由設備廠商分配的MAC地址。
主機從網卡上讀取 MAC 地址,然后在網絡上發送一個 RARP 請求的廣播數據包,請求 RARP
服務器回復該主機的 IP 地址。
(2)RARP 服務器收到了 RARP 請求數據包,為其分配 IP 地址,并將 RARP 回應發送給主機。
(3)PC1 收到 RARP 回應后,就使用得到的 IP 地址進行通訊。
dns 是什么?dns 的工作原理
將主機域名轉換為 ip 地址,屬于應用層協議,使用 UDP 傳輸。(DNS 應用層協議,以前有
個考官問過)
過程:
總結: 瀏覽器緩存,系統緩存,路由器緩存,IPS 服務器緩存,根域名服務器緩存,頂級
域名服務器緩存,主域名服務器緩存。
一、主機向本地域名服務器的查詢一般都是采用遞歸查詢。
二、本地域名服務器向根域名服務器的查詢的迭代查詢。
1)當用戶輸入域名時,瀏覽器先檢查自己的緩存中是否 這個域名映射的 ip 地址,有解析結
束。
2)若沒命中,則檢查操作系統緩存(如 Windows 的 hosts)中有沒有解析過的結果,有解
析結束。
3)若無命中,則請求本地域名服務器解析( LDNS)。
4)若 LDNS 沒有命中就直接跳到根域名服務器請求解析。根域名服務器返回給 LDNS 一個 主
域名服務器地址。
5) 此時 LDNS 再發送請求給上一步返回的 gTLD( 通用頂級域), 接受請求的 gTLD 查找
并返回這個域名對應的 Name Server 的地址
6)
Name Server 根據映射關系表找到目標 ip,返回給 LDNS
7)
LDNS 緩存這個域名和對應的 ip, 把解析的結果返回給用戶,用戶根據 TTL 值緩存到本
地系統緩存中,域名解析過程至此結束
rip 協議是什么?rip 的工作原理
RIP 動態路由選擇協議(網絡層協議)
RIP 是一種基于距離矢量(Distance-Vector)算法的協議,它使用跳數(Hop Count)作為度
量來衡量到達目的網絡的路由距離。RIP 通過 UDP 報文進行路由信息的交換,使用的端口
號為 520。
工作原理:
RIP 路由協議用“更新(UNPDATES)”和“請求(REQUESTS)”這兩種分組來傳輸信息的。
每個具有 RIP 協議功能的路由器每隔 30 秒用 UDP520 端口給與之直接相連的機器廣播更新
信息。并且在( 用“路程段數”(即“跳數”)作為網絡距離的尺度。每個路由器在)給
相鄰路由器發出路由信息時,都會給每個路徑加上內部距離。路由器的收斂機制:
任何距離向量路由選擇協議(如 RIP)都有一個問題,路由器不知道網絡的全局情況,路由
器必須依靠相鄰路由器來獲取網絡的可達信息。由于路由選擇更新信息在網絡上傳播慢,
距離向量路由選擇算法有一個慢收斂問題,這個問題將導致不一致性產生。
RIP 較少路由收斂機制帶來的問題:
1)記數到無窮大機制:RIP 協議允許最大跳數為 15。大于 15 的目的地被認為是不可達。當
路徑的跳數超過 15,這條路徑才從路由表中刪除。
2) 水平分割法: 路由器不向路徑到來的方向回傳此路徑。當打開路由器接口后,路由器
記錄路徑是從哪個接口來的,并且不向此接口回傳此路徑。
3) 破壞逆轉的水平分割法: 忽略在更新過程中從一個路由器獲取的路徑又傳回該路由器
4)保持定時器法: 防止路由器在路徑從路由表中刪除后一定的時間內(通常為 180 秒)
接受新的路由信息。 保證每個路由器都收到了路徑不可達信息
5) 觸發更新法: 當某個路徑的跳數改變了,路由器立即發出更新信息,不管路由器是否
到達常規信息更新時間都發出更新信息。
RIP 的缺點
1、由于 15 跳為最大值,RIP 只能應用于小規模網絡;2、收斂速度慢;3、根據跳數選擇的
路由,不一定是最優路由。
OSPF 協議?OSPF 的工作原理
OSPF(Open Shortest Pass First,開放最短路徑優先協議),是一個最常用的內部網管協議,
是一個鏈路狀態協議。(網絡層協議,)
原理:
OSPF 組播的方式在所有開啟 OSPF 的接口發送 Hello 包,用來確定是否有 OSPF 鄰居,若發
現了,則建立 OSPF 鄰居關系,形成鄰居表,之后互相發送 LSA(鏈路狀態通告)相互通告
路由,形成 LSDB(鏈路狀態數據庫)。再通過 SPF 算法,計算最佳路徑(cost 最小)后放
入路由表。
TCP 與 UDP 區別總結?
1.TCP 面向連接(如打電話要先撥號建立連接)提供可靠的服務;UDP 是無連接的,即發送數
據之前不需要建立連接,;UDP 盡最大努力交付,即不保證可靠交付。(由于 UDP 無需建立
連接,因此 UDP 不會引入建立連接的時延,TCP 需要在端系統中維護連接狀態,比如接受
和發送緩存,擁塞控制,序號與確認號的參數等,故 TCP 會比 UDP 慢)
2.UDP 具有較好的實時性,工作效率比 TCP 高,適用于對高速傳輸和實時性有較高的通信或
廣播通信。
3. 每一條 TCP 連接只能是一對一的;UDP 支持一對一,一對多,多對一和多對多的交互通信
4 UDP 分組首部開銷小,TCP 首部開銷 20 字節;UDP 的首部開銷小,只有 8 個字節。
5. TCP 面向字節流,實際上是 TCP 把數據看成一連串無結構的字節流;UDP 是面向報文的(一
次交付一個完整的報文,報文不可分割,報文是 UDP 數據報處理的最小單位)。
6.UDP 適合一次性傳輸較小數據的網絡應用,如 DNS,SNMP 等
什么是三次握手四次揮手?tcp 為什么要三次握手?
為了防止已失效的連接請求報文段突然又傳送到了服務端,因而產生錯誤第一次握手:建立連接時,客戶端發送 syn 包(syn=j)到服務器,并進入 SYN_SEND 狀態,等
待服務器確認;
第二次握手:服務器收到 syn 包,必須確認客戶的 SYN(ack=j+1),同時自己也發送一個
SYN 包(syn=k),即 SYN+ACK 包,此時服務器進入 SYN_RECV 狀態;
第三次握手:客戶端收到服務器的 SYN+ACK 包,向服務器發送確認包 ACK(ack=k+1),此包
發送完畢,客戶端和服務器進入 ESTABLISHED 狀態,完成三次握手。
完成三次握手,客戶端與服務器開始傳送數據
客戶端先發送 FIN,進入 FIN_WAIT1 狀態,用來關閉 Client 到 Server 的數據傳送
服務端收到 FIN,發送 ACK,進入 CLOSE_WAIT 狀態,客戶端收到這個 ACK,進入 FIN_WAIT2
狀態
服務端發送 FIN,進入 LAST_ACK 狀態,用來關閉 Server 到 Client 的數據傳送
客戶端收到 FIN,發送 ACK,進入 TIME_WAIT 狀態,服務端收到 ACK,進入 CLOSE 狀態(等
待 2MSL 時間,約 4 分鐘。主要是防止最后一個 ACK 丟失。)
第一次揮手:主動關閉方發送一個 FIN,用來關閉主動方到被動關閉方的數據傳送,也就是
主動關閉方告訴被動關閉方:我已經不 會再給你發數據了(當然,在 fin 包之前發送出去的
數據,如果沒有收到對應的 ack 確認報文,主動關閉方依然會重發這些數據),但是,此時
主動關閉方還可 以接受數據。
第二次揮手:被動關閉方收到 FIN 包后,發送一個 ACK 給對方,確認序號為收到序號+1(與
SYN 相同,一個 FIN 占用一個序號)。
第三次揮手:被動關閉方發送一個 FIN,用來關閉被動關閉方到主動關閉方的數據傳送,也
就是告訴主動關閉方,我的數據也發送完了,不會再給你發數據了。
第四次揮手:主動關閉方收到 FIN 后,發送一個 ACK 給被動關閉方,確認序號為收到序號
+1,至此,完成四次揮手。

總結

以上是生活随笔為你收集整理的网络安全面试题及答案的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。