Web 101

Credit : 阿溟

XSS (optional)

What is Web

學習資源

  • 阿溟 AKA WuSandWitch
  • 寫扣不敢開燈 怕吸引 BUG
  • 112特選 沒上哈哈...
  • 臺科資安社 公關
  • 第八屆台灣好厲駭學員
  • 第一屆 SCAICT 教學組
  • 全國技能競賽
    (商務軟體設計 / 行動應用開發)
  • 2022 AIS3 Junior
  • 2023 AIS3 
  • 中工110級資訊科學會會長

資訊安全 ?

  • 教練 我想當駭客
  • 面向分類
  • 學習資訊安全be like:

What is Web

  • 構成 WWW 的條件
  • 網站運作原理
  • BurpSuite
  • 前端構成
  • Developer Tool
  • Broken Access Control

World Wide Web

傳輸網頁的協定

HTTP

伺服器的位址

URL

建構網頁的語言

HTML

網站運作原理

傳輸

運行

傳輸程式&頁面資料

運行程式&請求資料

網站運作原理

傳輸

運行

傳輸程式&頁面資料

運行瀏覽器
對網站伺服器發出請求

網站運作原理

傳輸

運行

傳輸頁面及腳本

運行程式&請求資料

網站運作原理

傳輸

運行

傳輸程式&頁面資料

運行程式請求資料
e.g.影片、相關影片

網站運作原理

傳輸

運行

傳輸程式請求之資料

運行程式&請求資料

網站運作原理

傳輸

運行

傳輸程式&頁面資料

運行瀏覽器
對網站伺服器發出請求

?

http://

ntust.pro

/ctf

?question=1

協議

位址 / ip

路徑

參數

http://

ntust.pro

/ctf

?question=1

協議

位址 / ip

路徑

參數

GET /ctf?question=1 HTTP/2
Host: ntust.pro
User-Agent: Chrome/116.0.5845.141 Safari/537.36
Accept: text/html
Accept-Language: en-US,en;q=0.9

account=wusandwitch
........
GET /ctf?question=1 HTTP/2
Host: ntust.pro
User-Agent: Chrome/116.0.5845.141 Safari/537.36
Accept: text/html
Accept-Language: en-US,en;q=0.9

account=wusandwitch
........

Method 方法

Credit:
Ed Tsai

GET /ctf?question=1 HTTP/2
Host: ntust.pro
User-Agent: Chrome/116.0.5845.141 Safari/537.36
Accept: text/html
Accept-Language: en-US,en;q=0.9

account=wusandwitch
........

Path / Route 路徑

GET /ctf?question=1 HTTP/2
Host: ntust.pro
User-Agent: Chrome/116.0.5845.141 Safari/537.36
Accept: text/html
Accept-Language: en-US,en;q=0.9

account=wusandwitch
........

Protocol Version 協議版本

Hypter
Text
Transfer
Protocol

超文本傳輸協定

GET /ctf?question=1 HTTP/2
Host: ntust.pro
User-Agent: Chrome/116.0.5845.141 Safari/537.36
Accept: text/html
Accept-Language: en-US,en;q=0.9

account=wusandwitch
........

Host 位址

http://

ntust.pro

/ctf

?question=1

協議

位址 / ip

路徑

參數

伺服器位址

GET /ctf?question=1 HTTP/2
Host: ntust.pro
User-Agent: Chrome/116.0.5845.141 Safari/537.36
Accept: text/html
Accept-Language: en-US,en;q=0.9

account=wusandwitch
........

Header 標頭

請求資訊
(類似Metadata)

GET /ctf?question=1 HTTP/2
Host: ntust.pro
User-Agent: Chrome/116.0.5845.141 Safari/537.36
Accept: text/html
Accept-Language: en-US,en;q=0.9

account=wusandwitch
........

Body 主要資料

夾帶資訊
通常出現在 POST / PATCH / PUT
GET 等 Method 通常不會有

網站運作原理

傳輸

運行

傳輸頁面及腳本

運行程式&請求資料

?

傳輸?

GET /ctf?question=1 HTTP/2 Host: ntust.pro ...

瀏覽器

伺服器

HTTP/2 200 OK
Content-Type: text/html ...

HTTP/2 200 OK
Date: Mon, 25 Sep 2023 09:23:05 GMT
Content-Type: text/html; charset=UTF-8

<html>
<head>...</head>
<body>...</body>
</html>

Status Code 狀態碼

Credit: splitline

HTTP/2 200 OK
Date: Mon, 25 Sep 2023 09:23:05 GMT
Content-Type: text/html; charset=UTF-8

<html>
<head>...</head>
<body>...</body>
</html>

Header 標頭

回應ㄉ附加資訊
(一樣類似 Metadata)

HTTP/2 200 OK
Date: Mon, 25 Sep 2023 09:23:05 GMT
Content-Type: text/html; charset=UTF-8

<html>
<head>...</head>
<body>...</body>
</html>

Body 主要資料

真 回應資料
(頁面、程式、資料)

HTML / Js / 貓咪圖片

Burp Suite

前端

資料庫

後端

瀏覽器

伺服器

伺服器

HTML / CSS / JS

SQL / Mongo / ...

PHP / node.js / ...

看得到

看不到

看不到

前端

資料庫

後端

渲染? 頁面資料?

Credit: splitline

HTML

HTML + CSS

HTML + CSS + JS

F12 Developer Tool

恭喜學會

Broken Access Control

上次ㄉ Lab

  • 蛤?
  • 資料庫是啥?
  • 那語法是什麼鬼?
  • table name哪來的?

資料表

學號 姓名
B11299001 阿溟
B11299002 阿明
B11299003 阿名
B11299004 阿銘
b11299005 阿鳴

what if...?

學號 姓名 班導
B11299001 阿溟 帶聞愷
B11299002 阿明 帶聞愷
B11299003 阿名 帶聞愷
B11299004 阿銘 帶聞愷
b11299005 阿鳴 帶聞愷

what if...?

學號 姓名 班導 班導電話
B11299001 阿溟 帶聞愷 0955555555
B11299002 阿明 帶聞愷 0955555555
B11299003 阿名 帶聞愷 0955555555
B11299004 阿銘 帶聞愷 0955555555
b11299005 阿鳴 帶聞愷 0955555555

Solution

學號 姓名 班導 代號
B11299001 阿溟 001
B11299002 阿明 001
B11299003 阿名 001
B11299004 阿銘 001
代號 姓名 電話
001 帶聞愷 0955....
002 包行國 0955....
003 搖製遠 0955....
004 凳唯鍾 0955....

student

teacher

Information Schema

table_name ... ...
teacher ... ...
student ... ...
... ... ...
... ... ...
column_name table_name ...
學號 student ...
姓名 student ...
班導 student ...
代號 teacher ...

tables

columns

SQL ?

  • Structured
  • Query
  • Language

 

  • 結構化查詢語法
  • 後端 <---> 資料庫
  • 超級高階 語法近似英語
  • SQL📖

SELECT

 0,0,0,0

選取

資料

Result

0 0 0 0

SELECT

 id,name

 FROM

 teacher

選取

欄位名稱
* 表全部

路徑

資料表

 WHERE name='聞愷'

當名字等於文凱

Result

代號 姓名
001 帶聞愷

SELECT...

UNION

選取...

組合

 SELECT

 0,0

資料

選取

Result

代號 姓名
001 帶聞愷
0 0

前端

資料庫

後端

.../page?name=聞愷

...where name='聞愷'

SELECT

 id,name

 FROM

 teacher

 WHERE name='[自訂]'

http://

ntust.pro

/page

?name='UNION SELECT ...

學習資源

  • 國外學習資源
  • 國內社群資源
  • 更多...

Hacker101 - 新手導向教學 - https://www.hacker101.com/
picoCTF - 入門導向平台 - https://picoctf.org/

HackTricks - 資源多到一個爆炸、整理很好看的、很有條理的網站 - https://book.hacktricks.xyz/

PWNABLE KR - 打程式pwn有名的平台 - https://pwnable.kr/
PortSwigger - 網路滲透工具商,自己有開課程和LAB,FREE - https://portswigger.net/
TryHackMe - 有付費課程、實作LAB的環境(部分要課金才有)https://tryhackme.com/
HackTheBox - 給你真實靶機打,紅隊滲透者愛好 - https://www.hackthebox.com/
CyberDefenders - 真實攻擊數據(封包、硬碟、記憶體、感染文件) - 藍隊最愛 - https://cyberdefenders.org/
看雪 - 大陸的超大資安論壇,有些很怪的技術,好玩 https://bbs.pediy.com/

學習資源

Credit: Ed Tsai

Web 黑魔法寶典

咒術法典

SCAICT 中電會
SCIST 南灣資訊研究社
DEVCORE Conference
HITCON 台灣駭客年會
AIS3
TDOHacker
UCCU Hacker
...

社群資源

GDSC X NTUST
台科大資安社
中央CTF讀書會 (NCtfU)
中山資安社
交大網路安全策進會
輔大資訊安全研究會 (NISRA)
逢甲黑客社
...

大禮包

Credit: 飛飛

Made with Slides.com