Advertisement
Advertisement

More Related Content

Advertisement

Session1.pdf

  1. vincentjava@yahoo.com.tw 段維瀚老師 製 Session 1 網站安全設計原則
  2. vincentjava@yahoo.com.tw 段維瀚老師 製 資安問題永遠存在 !
  3. vincentjava@yahoo.com.tw 段維瀚老師 製 課程大綱 1. Web應用程式設計 • HTTP/HTTPS • 安全組態設定 • 網站安全設計原則 2. 了解網站基本單元與資安基礎知識 • 攻擊與防禦-揭露 Web 應用程式常見弱點與攻擊手法
  4. vincentjava@yahoo.com.tw 段維瀚老師 製 Web應用程式架構 展示層 邏輯層 資料層 客戶端 伺服端 客戶端/伺服端
  5. vincentjava@yahoo.com.tw 段維瀚老師 製
  6. vincentjava@yahoo.com.tw 段維瀚老師 製 Web應用程式架構 Request 請求 Response 回應
  7. vincentjava@yahoo.com.tw 段維瀚老師 製 TCP/IP 網路模型 有線網路(乙太網路)、無線網路(Wi-Fi) 網際網路協議(IP) TCP、UDP、RTP、SCTP 如何有效傳輸 HTTP、FTP 如何包裝數據
  8. vincentjava@yahoo.com.tw 段維瀚老師 製 TCP/IP 網路模型 資料經過網路模型的處理 方式,先將傳送端的資料 一層層打包完畢之後,送 到網路上傳送。接收端接 受到東西之後,再依相反 順序拆開。
  9. vincentjava@yahoo.com.tw 段維瀚老師 製 TCP/IP 網路模型 IP 協議對應於網絡層 TCP 協議對應於傳輸層 HTTP 協議對應於應用層 三者從本質上來說是完全不同。 也可以說,TCP/IP協議是傳輸層協議, 主要解決數據如何在網絡中傳輸, 而HTTP是應用層協議,主要解決如何包 裝數據。
  10. vincentjava@yahoo.com.tw 段維瀚老師 製 TCP/IP 網路模型 TCP 三向交握 (Three-way Handshake) Client Server 客戶端發送 syn包到服務器,並進入SYN_SEND狀態,等待服務器確認 服務器收到 syn包,必須確認客戶的 syn 包,同時自己也發送一個 SYN包,即 SYN+ACK包,此時服務器進入SYN_RECV狀態; 客戶端收到服務器的SYN+ACK包,向服務器發送確認包 ACK, 此包發送完畢,客戶端和服務器進入ESTABLISHED狀態,完成三次握手。 established 開始傳資料… Request 請求 Response 回應
  11. vincentjava@yahoo.com.tw 段維瀚老師 製 HTTP文件 Message part Description The initial line status line 裡面包含了 HTTP 的方法, URI,HTTP 版本與初始狀態 The headers section 根據 HTTP 的方法所包含的標 頭資訊,meta:User-Agent、 Content-Type 或 ContentLength 等 … Blank line Blank line 你可以當作是 Headers 資料的結束或者是 Headers 與 Message body 的分隔,例如當你要利用GET 或 POST 的方法來送出其他的 資料時,這些額外的資料就會 包裝在 Message body 的區域 而 Blank line 就可以來區隔 Headers 與 Message body 的資料。 Message body 存放 Request 或 Response 的內容,例如:Request 中的 參數或者是 Response 中的 HTML Tag。
  12. vincentjava@yahoo.com.tw 段維瀚老師 製
  13. vincentjava@yahoo.com.tw 段維瀚老師 製 HTML <form method="post" action="/WebSecure/servlet/login"> Username: <input type="text" name="username"><br> Password: <input type="password" name="password"><br> <input type="submit" value = "Login" > </form> Initial line POST /WebSecure/servlet/login HTTP/1.1 Headers accept : image/gif, , application/x- shockwave … accept-language : zh-tw user-agent : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) host : localhost:8080 connection : Keep-Alive pragma : no-cache Blank line Message body username=john&password=1234 HTTP請求文件
  14. vincentjava@yahoo.com.tw 段維瀚老師 製 HTML Initial line HTTP/1.1 200 OK Headers Date : Tuesday, 10-Feb-23 15:31:59 GMT Server : Tomcat Web Server / 9.0.18 MIME-version : 1.0 Content-type : text/html Content-length : 24 Blank line Message body <html> Login OK! </html> HTTP回應文件 <html> Login OK! </html> Login OK!
  15. vincentjava@yahoo.com.tw 段維瀚老師 製 開發人員:觀察 Http Request 請求 Response 回應 觀察!
  16. vincentjava@yahoo.com.tw 段維瀚老師 製 Lab 設計一個 WebApp 可以支援 Login 登入 <form method="post" action="/WebSecure/servlet/login"> Username: <input type="text" name="username"><br> Password: <input type="password" name="password"><br> <input type="submit" value = "Login" > </form>
  17. vincentjava@yahoo.com.tw 段維瀚老師 製 監控觀察 HTTP 資訊 段維瀚 老師 17 HTTP 資料揭露
  18. vincentjava@yahoo.com.tw 段維瀚老師 製 Hacker 竊聽 Request 請求 Response 回應 竊聽! 觀察!
  19. vincentjava@yahoo.com.tw 段維瀚老師 製 SSL/TLS 網景公司(Netscape)在 1994 年推出首版網頁瀏覽器 -網景領航員,之後為讓資料在網路上能更安全傳遞,推 出HTTPS協定,以SSL進行加密,這是SSL的起源。 IETF將SSL進行標準化 1999年公布TLS 1.0標準檔案 2006年公布TLS 1.1 2008年公布TLS 1.2 2018年公布TLS 1.3
  20. vincentjava@yahoo.com.tw 段維瀚老師 製 SSL/TLS 傳輸層安全性協定(Transport Layer Security,縮寫 :TLS)及其前身安全通訊協定(Secure Sockets Layer ,縮寫:SSL) 是一種安全協定,目的是為網際網路通訊提供安全及資料完 整性保障。
  21. vincentjava@yahoo.com.tw 段維瀚老師 製 為何要寫 SSL/TLS 而不是直接寫 SSL 或 TLS SSL (Secure Sockets Layer) 是由 Netscape 公司開發的網路安全協定,它最初被用來保護網 路數據傳輸。但是由於 SSL 存在安全漏洞,因此在 1999 年被 IETF (Internet Engineering Task Force) 取代。 TLS (Transport Layer Security) 是 SSL 的後續版本,它被設計來修復 SSL 中的安全漏洞。目前 ,TLS 是網路安全協定的標準,被用來保護數據傳輸。 因此為了涵蓋到並且更為準確,所以通常會寫成 SSL/TLS,代表網 路安全協定。
  22. vincentjava@yahoo.com.tw 段維瀚老師 製 SSL HTTP/HTTPS HTTP 協議 SSL 加密 安全層 HTTPS 協議
  23. vincentjava@yahoo.com.tw 段維瀚老師 製 TLS HTTP/HTTPS HTTP 協議 TLS 加密 TLS HTTPS 協議
  24. vincentjava@yahoo.com.tw 段維瀚老師 製 HTTP/HTTPS HTTP 協議 SSL 加密 安全層 HTTPS 協議 SSL/TLS
  25. vincentjava@yahoo.com.tw 段維瀚老師 製 Lab 將網站加入 Https Chrome 解決 http 自動跳轉 https 問題 地址欄輸入:chrome://net-internals/#hsts 找到底部 Delete domain security policies一欄,輸 入想處理的域名,點擊delete。 1 2
  26. vincentjava@yahoo.com.tw 段維瀚老師 製 監聽 HTTP/HTTPS 資訊 段維瀚 老師 26 資料完全被揭露 資料完全被加密
Advertisement