講師:堇姬 @ Izcc-ctf
2023.12.1
成電二年級/幽夜工作室繪師/台灣好厲駭學員
DC : naup_sumire_hime
IG : ckcsc36th_naup
涉獵C++、C、python、遊戲(tkinter、pygame)、資安(Web、Crypto)、AI、flask、html/css/js、 PHP、DC bot。
喜歡看輕小說、動畫、Vtuber、打音遊,也喜歡看百合,就是一個長年混跡ACG的宅女。
夢想是可以成為很電的駭客跟繪師,也想自己寫出一個AI老婆。
start line
CRLF
start line
CRLF
request
response
方法 (method)、
請求目標 (request-target)、
HTTP 版本 (HTTP-version)
Ex : HTTP/1.1、HTTP/1.0
HTTP 版本 (HTTP-version)、
狀態碼 (status-code)、
原因短語 (reason-phrase)
1xx – 連接正在進行中
2xx – 請求成功完成,伺服器給了瀏覽器預期的響應
3xx –這個請求被收到了,但是需要重新定向
4xx –客戶端看起來可能發生了錯誤,妨礙了伺服器的處理
5xx – 客戶端的請求是有效的,但伺服器未能完成請求
可以想像是包裹外貼的那張紙
Host: echo.paw.cloud
Content-Type: application/json; charset=utf-8
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:53.0) Gecko/20100101 Firefox/53.0
Connection: close
Content-Length: 136
Host
要訪問的目標主機的域名或IP
Content-Type
指示請求中攜帶的數據類型(上方的是JSON格式、UTF-8編碼)
User-Agent
發送請求的客戶端應用或瀏覽器信息("Mozilla Firefox"瀏覽器發送,版本是53.0,在Macintosh操作系统上)
Connection
暗示連結類型(close表示請求完後連結會關閉)
Content-Length
後續要讀取消息的長度
(carriage return followed by line feed)
Windows -> CRLF
Unix/Linux -> LF
比較常用的是proxy跟repeater
intercept is off or on :
不會擷取request
擷取下一次的request
open browser :
打開一個瀏覽器,burpsuite會擷取這個瀏覽器的request
我可以把該request送到repeater這樣我就可以修改封包後重新request
嘗試把他送到repeater,會看到讓我們開始挑戰的字句
把challenge改成1就可以開始,同時也可以收到第一段flag
有興趣可以自己解
指在目錄 Home
底下有 Document
目錄,在Document
目錄底下有 naup
目錄
../
來表示「到上一層目錄」網址為 https://naup.com
若請求
https://naup.com/templates/haha.html/../../app.py
有時使用../會被瀏覽器解析,故要將
../
進行 Url Encode 變成 ..%2F
app.get('/templates/:filename', function(req, res){
var filename = req.params.filename,
path = `templates/${filename}`;
return res.sendFile(path, {root: '/server'});
});
app.get('/templates/:filename', function(req, res){
var filename = req.params.filename,
path = `${filename}`;
return res.sendFile(path, {root: '/server/templates/'});
});