資安第二堂

前後端&HTTP

溫馨小提醒

  • 禁止將今日所學拿去用在練習CTF以外的地方
  • 分享flag 達咩

目錄

picoCTF

這啥

  • 上節課忘了介紹的好用東西
  • 一個有頗多題目的解題平台
  • 資安的zerojudge(?
  • 定期會舉辦比賽欸反正我是不會去參加
  • 題目挺多挺雜的我覺得o.o

反正就先來註冊吧:D

註冊

  • 按右上角的log in選sign up
  • 按照要填的填就好
  • (Postal Code是郵遞區號可能可以亂填,他括號選填的不用填)

classroom

  • 正常來說登入後會跳轉到picoGym
  • 沒有的話選上面的Practice
  • 進去picoGym後選上面的classroom
  • 選join a classroom, Invite Code輸入C8CNyd32l

這樣就好ㄌ,一定要加喔,不然之後有作業會算沒完成喔

前端&後端

前端

構成網頁的三大要素:HTML、CSS、JS

HTML:管理網頁的架構

CSS:管理網頁的外貌

JavaScript:管理網頁的內容以及使用者的操作行為

前端

  • 透過瀏覽器顯示後端傳過來的資料
  • 透過UI跟後端互動

後端

  • 大量處理/運算資料
  • 提供前端資訊/資料

後端

  • 後端可以定義路徑
  • ex: /(根目錄), /home , /shop

前後端關係

互動

前端

後端

資料庫

向伺服器送出請求(request)

透過 SQL 語法存取

取得資料

回傳(Response)

給瀏覽器

HTTP

這是什麼

  • 超文字傳輸通訊協定
  • 一種應用程式層通訊協定
  • 用於在聯網裝置之間傳輸資訊

Request/Response

前端

後端

?

?

Request/Response

前端

後端

GET /example HTTP/1.1
Host: www.example.com

HTTP/1.1 200 OK
Date: Wed, 06 Nov 2024 10:30:00 GMT

<html><body> ...

Request

GET / HTTP/2

Host: example.com
Cookie: val=123;
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...
Content-Length: 32

Method: HTTP定義的「請求方式」

常見的有:GET、POST、HEAD....

Request

POST /submit-form HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)...

Content-Length: 42
Cookie: sessionId=abc123xyz;theme=dark;

username=user123&password=securepassword

GET /submit-form?username=user123&password=securepassword HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)...
Cookie: sessionId=abc123xyz; theme=dark; loggedIn=true

Put : 取代掉整個 request
Patch : 修改部分 request ( 較推薦 )
Delete : 刪除資源
Head: 只要獲取 request 的 header,不要 body
Option : 可以暸解 server 提供哪些溝通方法

Request

GET / HTTP/2

Host: example.com
Cookie: val=123;
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...
Content-Length: 32

Path : 路徑&參數

 /submit-form?username=user123&password=securepassword

 /submit-form?username=user123&password=securepassword

路徑

參數

Request

GET / HTTP/2

Host: example.com
Cookie: val=123;
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...
Content-Length: 32

protocol version: HTTP版本

•HTTP/0.9~1.1 Text-based Protocol
•HTTP/2 Binary protocol
•HTTP/3 QUIC (UDP)

Request

GET / HTTP/2

Host: example.com
Cookie: val=123;
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...
Content-Length: 32

Host Name:目標的主機名稱&端口號

User-Agent : 告訴Server 你用的瀏覽器 作業系統 等等資訊

Request

GET / HTTP/2

Host: example.com
Cookie: val=123;
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...
Content-Length: 32

Cookie:

  • 網站為了辨識使用者,或者延續上一個或之前的工作狀態,所以會產生一個機制來儲存各個使用者的狀態。
  • 存在Client端,叫做Cookie
  • 如果可以偽造,就可以提升權限or擁有平行的權限

Response

HTTP/1.1 200 OK
Date: Wed, 06 Nov 2024 10:30:00 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 1234
Connection: keep-alive

<!DOCTYPE HTML>
<html><head>

HTTP Status code

1xx 資訊內容
2xx 成功
3xx 重新導向
4xx 用戶端錯誤
5xx 伺服器錯誤

可愛的貓貓們https://http.cat/

TOOL

TOOL

網站資訊

robots.txt

manual

伺服器設定文件

.htaccess

.htpasswd

開發工具

.git

.svn

.swp

.DS_Store

Information Leakage

Information Leakage

.htaccess

  • 純文字檔案
  • 用來控制網頁顯示方式的許多層面
  • 被 Apache 和 Litespeed 等使用

.svn

  • 自由/開放源碼的版本控制系統
  • 跟git 87%像

.DS_Store

  • 是 MacOS 作業系統專屬的隱藏文件
  • 儲存了一些資訊,例如:資料夾的圖標、視窗的設置等
  • 可得知資料夾內的文件名稱、路徑

robots.txt

  • 告訴爬蟲什麼可以看什麼不能看
  • 可能會有不該看的東西
  • 使用方式 : 在網址後面直接加上/robots.txt
  • for example :    https://www.youtube.com/robots.txt

.git

  • 開發工具 , 用來記錄每個版本的code
  • 原始碼可能會整包放在裡面
  • tools: githacker , sourcetree

F12

  • web最入門的技術,又稱為開發者工具
  • 使用方式為按下F12或對網頁按右鍵選「檢查(Inspect)」

這個按下去只會顯示HTML喔

F12-Elements

從頁面中選擇要查看的元素便會定位至源代碼的具體位置

查看元素的CSS屬性及從父級元素繼承的CSS屬性

能直接在代碼上雙擊進行修改,可當前修改僅對當前頁面生效,並不會修改到服務器源代碼

F12-Console

Console可以查看JS對象的及其屬性,通過js訪問當前頁面的所有元素及進行js的任何操作,並且能夠立即執行JS語句

當網頁的JS代碼中使用了console.log()函數時,該函數輸出的日誌信息會在控制台中顯示

F12-Source

可以查看到當前網頁的所有源文件,在左側中以樹狀結構展示

F12-Network

網絡能夠記錄所有請求,並且進行回放,另存為文件進行分析。

F12-Network

網絡能夠記錄所有請求,並且進行回放,另存為文件進行分析。

開始記錄按鈕

清除當前記錄信息

能夠自定義篩選條件

是否保留日誌

是否進行緩存

設置模擬限速

Burp Suite

  • 可以修改/攔截 http data 的工具
  • 方便看到完整的資料

Burp Suite

這裡選你的版本直接安裝,一路按next就對了

or

打開上次叫你們裝的kali

直接在裡面搜burp suite就能用了

 

打開之後會叫你選檔案

直接按next 然後start就好

Burp Suite

進去之後選proxy

把攔截打開-> Intercept on

open brower

把你要攔截的網址貼進去瀏覽器

Burp Suite

按下enter之後你就會攔截到他request的內容

能直接點擊要修改處修改

好了按Forward,他就會把修改好的回傳到瀏覽器上

回家作業

記得要加入pico ctf的classroom

截止是12/1(日)晚上12:00

逾時算沒交ㄛ,有情況可以跟我說:D

題目不會可以互問也可以來找我拿提示

但嚴禁直接要flag

表單->調查你們PicoCTF的名稱的

記得填ㄛ

沒寫完不用擔心我是善良的學姊ouo

伊呀哈下課!

不要忘了下次見面是12/6ㄛ

(11/22段考放假~)

資安第二堂

By jellyfish

資安第二堂

  • 110