SlideShare a Scribd company logo
1 of 26
Download to read offline
vincentjava@yahoo.com.tw
段維瀚老師 製
Session 1 網站安全設計原則
vincentjava@yahoo.com.tw
段維瀚老師 製
資安問題永遠存在 !
vincentjava@yahoo.com.tw
段維瀚老師 製
課程大綱
1. Web應用程式設計
• HTTP/HTTPS
• 安全組態設定
• 網站安全設計原則
2. 了解網站基本單元與資安基礎知識
• 攻擊與防禦-揭露 Web 應用程式常見弱點與攻擊手法
vincentjava@yahoo.com.tw
段維瀚老師 製
Web應用程式架構
展示層
邏輯層
資料層
客戶端
伺服端
客戶端/伺服端
vincentjava@yahoo.com.tw
段維瀚老師 製
vincentjava@yahoo.com.tw
段維瀚老師 製
Web應用程式架構
Request 請求
Response 回應
vincentjava@yahoo.com.tw
段維瀚老師 製
TCP/IP 網路模型
有線網路(乙太網路)、無線網路(Wi-Fi)
網際網路協議(IP)
TCP、UDP、RTP、SCTP 如何有效傳輸
HTTP、FTP 如何包裝數據
vincentjava@yahoo.com.tw
段維瀚老師 製
TCP/IP 網路模型
資料經過網路模型的處理
方式,先將傳送端的資料
一層層打包完畢之後,送
到網路上傳送。接收端接
受到東西之後,再依相反
順序拆開。
vincentjava@yahoo.com.tw
段維瀚老師 製
TCP/IP 網路模型
IP 協議對應於網絡層
TCP 協議對應於傳輸層
HTTP 協議對應於應用層
三者從本質上來說是完全不同。
也可以說,TCP/IP協議是傳輸層協議,
主要解決數據如何在網絡中傳輸,
而HTTP是應用層協議,主要解決如何包
裝數據。
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 回應
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。
vincentjava@yahoo.com.tw
段維瀚老師 製
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請求文件
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!
vincentjava@yahoo.com.tw
段維瀚老師 製
開發人員:觀察 Http
Request 請求
Response 回應
觀察!
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>
vincentjava@yahoo.com.tw
段維瀚老師 製
監控觀察 HTTP 資訊
段維瀚 老師 17
HTTP 資料揭露
vincentjava@yahoo.com.tw
段維瀚老師 製
Hacker 竊聽
Request 請求
Response 回應
竊聽!
觀察!
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
vincentjava@yahoo.com.tw
段維瀚老師 製
SSL/TLS
傳輸層安全性協定(Transport Layer Security,縮寫
:TLS)及其前身安全通訊協定(Secure Sockets Layer
,縮寫:SSL)
是一種安全協定,目的是為網際網路通訊提供安全及資料完
整性保障。
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,代表網
路安全協定。
vincentjava@yahoo.com.tw
段維瀚老師 製
SSL HTTP/HTTPS
HTTP 協議
SSL 加密 安全層
HTTPS 協議
vincentjava@yahoo.com.tw
段維瀚老師 製
TLS HTTP/HTTPS
HTTP 協議
TLS 加密 TLS
HTTPS 協議
vincentjava@yahoo.com.tw
段維瀚老師 製
HTTP/HTTPS
HTTP 協議
SSL 加密 安全層
HTTPS 協議
SSL/TLS
vincentjava@yahoo.com.tw
段維瀚老師 製
Lab
將網站加入 Https
Chrome 解決 http 自動跳轉 https 問題
地址欄輸入:chrome://net-internals/#hsts
找到底部 Delete domain security policies一欄,輸
入想處理的域名,點擊delete。
1 2
vincentjava@yahoo.com.tw
段維瀚老師 製
監聽 HTTP/HTTPS 資訊
段維瀚 老師 26
資料完全被揭露
資料完全被加密

More Related Content

Similar to Session1.pdf

2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練42015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4Duran Hsieh
 
价值中国网站开发、管理经验探讨、分享、交流
价值中国网站开发、管理经验探讨、分享、交流价值中国网站开发、管理经验探讨、分享、交流
价值中国网站开发、管理经验探讨、分享、交流hizhubo
 
OpenWebSchool - 03 - PHP Part II
OpenWebSchool - 03 - PHP Part IIOpenWebSchool - 03 - PHP Part II
OpenWebSchool - 03 - PHP Part IIHung-yu Lin
 
資訊證照講座
資訊證照講座資訊證照講座
資訊證照講座Ryan Chung
 
twMVC#08 | Web API
twMVC#08 | Web APItwMVC#08 | Web API
twMVC#08 | Web APItwMVC
 
ASP.NET MVC Web API -twMVC#8
ASP.NET MVC Web API -twMVC#8ASP.NET MVC Web API -twMVC#8
ASP.NET MVC Web API -twMVC#8twMVC
 
《网页设计与制作》第一章:网页制作基础
《网页设计与制作》第一章:网页制作基础《网页设计与制作》第一章:网页制作基础
《网页设计与制作》第一章:网页制作基础greentask
 
[xKungFoo2012]Web Service Hack
[xKungFoo2012]Web Service Hack[xKungFoo2012]Web Service Hack
[xKungFoo2012]Web Service Hackpnig0s pnig0s
 
中文加英文(肖金华)
中文加英文(肖金华)中文加英文(肖金华)
中文加英文(肖金华)金华 肖
 
AWS_Educate_Ambassador_Day_TAIWAN_Track_B - Build a Telegram Chatbot using AW...
AWS_Educate_Ambassador_Day_TAIWAN_Track_B - Build a Telegram Chatbot using AW...AWS_Educate_Ambassador_Day_TAIWAN_Track_B - Build a Telegram Chatbot using AW...
AWS_Educate_Ambassador_Day_TAIWAN_Track_B - Build a Telegram Chatbot using AW...土撥 JIE
 
基于Silverlight的RIA架构及百度应用
基于Silverlight的RIA架构及百度应用基于Silverlight的RIA架构及百度应用
基于Silverlight的RIA架构及百度应用Cat Chen
 
Real time web实时信息流推送
Real time web实时信息流推送Real time web实时信息流推送
Real time web实时信息流推送yongboy
 
Real-Time Web实时信息流推送
Real-Time Web实时信息流推送Real-Time Web实时信息流推送
Real-Time Web实时信息流推送yongboy
 
非常靠谱 Html 5
非常靠谱 Html 5 非常靠谱 Html 5
非常靠谱 Html 5 Tony Deng
 
Web development introduced history and future
Web development introduced history and futureWeb development introduced history and future
Web development introduced history and futurejarryli
 
Async programming-2014-08-22-pub
Async programming-2014-08-22-pubAsync programming-2014-08-22-pub
Async programming-2014-08-22-pubpersia cai
 
快速定位开发常见的前端问题
快速定位开发常见的前端问题快速定位开发常见的前端问题
快速定位开发常见的前端问题taobao.com
 
高性能网站最佳实践
高性能网站最佳实践高性能网站最佳实践
高性能网站最佳实践longhao
 
利用Signalr打造即時通訊@Tech day geek
利用Signalr打造即時通訊@Tech day geek利用Signalr打造即時通訊@Tech day geek
利用Signalr打造即時通訊@Tech day geekJohnson Gau
 

Similar to Session1.pdf (20)

2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練42015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
 
价值中国网站开发、管理经验探讨、分享、交流
价值中国网站开发、管理经验探讨、分享、交流价值中国网站开发、管理经验探讨、分享、交流
价值中国网站开发、管理经验探讨、分享、交流
 
OpenWebSchool - 03 - PHP Part II
OpenWebSchool - 03 - PHP Part IIOpenWebSchool - 03 - PHP Part II
OpenWebSchool - 03 - PHP Part II
 
資訊證照講座
資訊證照講座資訊證照講座
資訊證照講座
 
twMVC#08 | Web API
twMVC#08 | Web APItwMVC#08 | Web API
twMVC#08 | Web API
 
ASP.NET MVC Web API -twMVC#8
ASP.NET MVC Web API -twMVC#8ASP.NET MVC Web API -twMVC#8
ASP.NET MVC Web API -twMVC#8
 
《网页设计与制作》第一章:网页制作基础
《网页设计与制作》第一章:网页制作基础《网页设计与制作》第一章:网页制作基础
《网页设计与制作》第一章:网页制作基础
 
[xKungFoo2012]Web Service Hack
[xKungFoo2012]Web Service Hack[xKungFoo2012]Web Service Hack
[xKungFoo2012]Web Service Hack
 
中文加英文(肖金华)
中文加英文(肖金华)中文加英文(肖金华)
中文加英文(肖金华)
 
AWS_Educate_Ambassador_Day_TAIWAN_Track_B - Build a Telegram Chatbot using AW...
AWS_Educate_Ambassador_Day_TAIWAN_Track_B - Build a Telegram Chatbot using AW...AWS_Educate_Ambassador_Day_TAIWAN_Track_B - Build a Telegram Chatbot using AW...
AWS_Educate_Ambassador_Day_TAIWAN_Track_B - Build a Telegram Chatbot using AW...
 
基于Silverlight的RIA架构及百度应用
基于Silverlight的RIA架构及百度应用基于Silverlight的RIA架构及百度应用
基于Silverlight的RIA架构及百度应用
 
Real time web实时信息流推送
Real time web实时信息流推送Real time web实时信息流推送
Real time web实时信息流推送
 
Real-Time Web实时信息流推送
Real-Time Web实时信息流推送Real-Time Web实时信息流推送
Real-Time Web实时信息流推送
 
非常靠谱 Html 5
非常靠谱 Html 5 非常靠谱 Html 5
非常靠谱 Html 5
 
Web development introduced history and future
Web development introduced history and futureWeb development introduced history and future
Web development introduced history and future
 
Async programming-2014-08-22-pub
Async programming-2014-08-22-pubAsync programming-2014-08-22-pub
Async programming-2014-08-22-pub
 
TA Lesson Web-109
TA Lesson Web-109TA Lesson Web-109
TA Lesson Web-109
 
快速定位开发常见的前端问题
快速定位开发常见的前端问题快速定位开发常见的前端问题
快速定位开发常见的前端问题
 
高性能网站最佳实践
高性能网站最佳实践高性能网站最佳实践
高性能网站最佳实践
 
利用Signalr打造即時通訊@Tech day geek
利用Signalr打造即時通訊@Tech day geek利用Signalr打造即時通訊@Tech day geek
利用Signalr打造即時通訊@Tech day geek
 

Session1.pdf