刷題之旅第4站,接頭霸王
標簽: web java http nginx python
做題之前,要先了解一下http請求頭
1、 Accept:告訴WEB服務器自己接受什么介質類型,*/*表示任何類型,type/*
表示該類型下的所有子類型,type/sub-type。
2、 Accept-Charset: 瀏覽器申明自己接收的字符集
Accept-Encoding: 瀏覽器申明自己接收的編碼方法,通常指定壓縮方法,是否支持壓縮,支持什么壓縮方法(gzip,deflate)
Accept-Language::瀏覽器申明自己接收的語言
語言跟字符集的區別:中文是語言,中文有多種字符集,比如big5,gb2312,gbk等等。
4、 Age:當代理服務器用自己緩存的實體去響應請求時,用該頭部表明該實體從產生到現在經過多長時間了。
5、Authorization:當客戶端接收到來自WEB服務器的 WWW-Authenticate
響應時,用該頭部來回應自己的身份驗證信息給WEB服務器。
6、 Cache-Control:請求:no-cache(不要緩存的實體,要求現在從WEB服務器去取) max-age:(只接受 Age 值小于
max-age 值,并且沒有過期的對象) max-stale:(可以接受過去的對象,但是過期時間必須小于 max-stale 值)
min-fresh:(接受其新鮮生命期大于其當前 Age 跟 min-fresh 值之和的緩存對象) 響應:public(可以用
Cached 內容回應任何用戶) private(只能用緩存內容回應先前請求該內容的那個用戶)
no-cache(可以緩存,但是只有在跟WEB服務器驗證了其有效后,才能返回給客戶端) max-age:(本響應包含的對象的過期時間)
ALL: no-store(不允許緩存)
7、Connection:請求:close(告訴WEB服務器或者代理服務器,在完成本次請求的響應后,斷開連接,不要等待本次連接的后續請求了)。
keepalive(告訴WEB服務器或者代理服務器,在完成本次請求的響應后,保持連接,等待本次連接的后續請求)。
響應:close(連接已經關閉)。 keepalive(連接保持著,在等待本次連接的后續請求)。
Keep-Alive:如果瀏覽器請求保持連接,則該頭部表明希望 WEB 服務器保持連接多長時間(秒)。例如:Keep-Alive:300
8、 Content-Encoding:WEB服務器表明自己使用了什么壓縮方法(gzip,deflate)壓縮響應中的對象。例如:Content-Encoding:gzip
9、Content-Language:WEB 服務器告訴瀏覽器自己響應的對象的語言。
10、Content-Length: WEB
服務器告訴瀏覽器自己響應的對象的長度。例如:Content-Length: 26012
11、Content-Range: WEB
服務器表明該響應包含的部分對象為整個對象的哪個部分。例如:Content-Range: bytes 21010-47021/47022
12、Content-Type: WEB
服務器告訴瀏覽器自己響應的對象的類型。例如:Content-Type:application/xml
13、 ETag:就是一個對象(比如URL)的標志值,就一個對象而言,比如一個 html 文件,如果被修改了,其 Etag 也會別修改,所以ETag
的作用跟 Last-Modified 的作用差不多,主要供 WEB 服務器判斷一個對象是否改變了。比如前一次請求某個 html
文件時,獲得了其 ETag,當這次又請求這個文件時,瀏覽器就會把先前獲得的 ETag 值發送給WEB 服務器,然后 WEB 服務器會把這個
ETag 跟該文件的當前 ETag 進行對比,然后就知道這個文件有沒有改變了。
14、 Expired:WEB服務器表明該實體將在什么時候過期,對于過期了的對象,只有在跟WEB服務器驗證了其有效性后,才能用來響應客戶請求。是
HTTP/1.0 的頭部。例如:Expires:Sat, 23 May 2009 10:02:12 GMT
15、Host:客戶端指定自己想訪問的WEB服務器的域名/IP 地址和端口號。例如:Host:rss.sina.com.cn
16、If-Match:如果對象的 ETag 沒有改變,其實也就意味著對象沒有改變,才執行請求的動作。
17、If-None-Match:如果對象的 ETag 改變了,其實也就意味著對象也改變了,才執行請求的動作。
18、 If-Modified-Since:如果請求的對象在該頭部指定的時間之后修改了,才執行請求的動作(比如返回對象),否則返回代碼304,告訴瀏覽器該對象沒有修改。例如:If-Modified-Since:Thu,10 Apr 2008 09:14:42 GMT
19、If-Unmodified-Since:如果請求的對象在該頭部指定的時間之后沒修改過,才執行請求的動作(比如返回對象)。
20、If-Range:瀏覽器告訴 WEB服務器,如果我請求的對象沒有改變,就把我缺少的部分給我,如果對象改變了,就把整個對象給我。瀏覽器通過發送請求對象的 ETag 或者自己所知道的最后修改時間給 WEB 服務器,讓其判斷對象是否改變了。總是跟 Range 頭部一起使用。
21、 Last-Modified:WEB服務器認為對象的最后修改時間,比如文件的最后修改時間,動態頁面的最后產生時間等等。例如:Last-Modified:Tue, 06 May 2008 02:42:43 GMT
22、 Location:WEB服務器告訴瀏覽器,試圖訪問的對象已經被移到別的位置了,到該頭部指定的位置去取。
例如:
Location http://i0.sinaimg.cn/dy/deco/2008/0528/sina0.gif
23、 Pramga:主要使用 Pramga: no-cache,相當于 Cache-Control: no-cache。例如:Pragma:no-cache
24、 Proxy-Authenticate:
代理服務器響應瀏覽器,要求其提供代理身份驗證信息。Proxy-Authorization:瀏覽器響應代理服務器的身份驗證請求,提供自己的身份信息。
25、 Range:瀏覽器(比如 Flashget 多線程下載時)告訴 WEB 服務器自己想取對象的哪部分。例如:Range:bytes=1173546-
26、 Referer:瀏覽器向 WEB 服務器表明自己是從哪個 網頁/URL 獲得/點擊
當前請求中的網址/URL。例如:Referer:http://www.sina.com/
27、 Server: WEB服務器表明自己是什么軟件及版本等信息。例如:Server:Apache/2.0.61 (Unix)
28、 User-Agent:瀏覽器表明自己的身份(是哪種瀏覽器)。
例如:User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.1.14) Gecko/20080404 Firefox/2、0、0、14
29、 Transfer-Encoding: WEB 服務器表明自己對本響應消息體(不是消息體里面的對象)作了怎樣的編碼,比如是否分塊(chunked)。
例如:Transfer-Encoding:chunked
30、 Vary: WEB服務器用該頭部的內容告訴 Cache服務器,在什么條件下才能用本響應所返回的對象響應后續的請求。假如源WEB服務器在接到第一個請求消息時,
其響應消息的頭部為:
Content-Encoding: gzip;
Vary: Content-Encoding
那么 Cache 服務器會分析后續請求消息的頭部,檢查其Accept-Encoding,是否跟先前響應的 Vary 頭部值一致,即是否使用相同的內容編碼方法,這樣就可以防止 Cache服務器用自己 Cache 里面壓縮后的實體響應給不具備解壓能力的瀏覽器。
例如:Vary:Accept-Encoding
31、 Via:列出從客戶端到 OCS或者相反方向的響應經過了哪些代理服務器,他們用什么協議(和版本)發送的請求。當客戶端請求到達第一個代理服務器時,該服務器會在自己發出的請求里面添加Via 頭部,并填上自己的相關信息,當下一個代理服務器收到第一個代理服務器的請求時,會在自己發出的請求里面復制前一個代理服務器的請求的Via頭部,并把自己的相關信息加到后面,以此類推,當 OCS 收到最后一個代理服務器的請求時,檢查 Via 頭部,就知道該請求所經過的路由。例如:
Via:1.0 236.D0707195.sina.com.cn:80 (squid/2.6.STABLE13)
===============================================================================
打開題目連接。
添加Referer: https://vidar.club/,之后重新訪問。
需要本地訪問,那么添加請求頭
X-Forwarded-For: 127.0.0.1
提示用Cosmos 瀏覽器。修改user-agent 頭
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Cosmos /72.0
看了一下響應頭,得到最后修改時間。
2077年后顯示flag,添加:
If-Unmodified-Since: Fri, 01 Jan 2077 00:00:00 GMT
得到flag。
下面是對If-Unmodified-Since請求頭的解析
https://blog.csdn.net/weixin_33817333/article/details/85670301
智能推薦
刷題之旅第22站,CTFshow web2
感謝ctf show平臺提供題目 輸入萬能密碼,提示登錄成功。 admin 'or 1=1# 1、查詢回顯位置。 2、取表名 3、取字段名 4、 取數據 原創文章不易,點個贊再走吧。...
刷題之旅第34站,CTFshow web14
感謝ctf show平臺提供題目 提交命令,得到了php文件。 我們打開這個php文件看看,是個查詢界面。 通過測試,我們發現 information_schema.columns,information_schema.tables均被過濾了,那么可能flag并不是在數據庫中。 我們使用sql 的 load_file 命令,進行讀文件。在前面我們看到了有個secret.php文件。 我們嘗試進行讀...
刷題之旅第33站,CTFshow web12
感謝ctf show平臺提供題目 F12查看一下源代碼,得到了提示。 既然提示了cmd=,那么可能后端代碼中存在 eval() 或者exec()等可以執行命令的代碼。 嘗試提交,我們看到了php的配置信息。 使用glob通配符命令,提交命令,得到了一個php文件名。 使用文件高亮命令,讀出這個文件的PHP代碼。 題目結束了。 結語: 菜雞的cc師傅,將會持續寫出100篇高質量的CTF題目,供大家進...
刷題之旅第32站,CTFshow web11
感謝ctf show平臺提供題目 放眼望去,全是php代碼,代碼審計題目無疑了。 我們看到這部分,只要讓輸入框的內容 等于 session 的值就好了。 我們打開F12,找到存儲,刪除里面的phpsessionid 這樣session的值就是空了,那么我們再提交空密碼,就會相等了。 結語: 菜雞的cc師傅,將會持續寫出100篇高質量的CTF題目,供大家進行CTF的入門以及進階,如果覺得文章對您有所...
刷題之旅第16站,CTFshow misc31
感謝 @DK師傅提供的題目 感謝ctf show平臺提供題目 打開壓縮包,看見file , hint.txt ,聽歌識曲 是沒有加密的。那么從這幾個開始入手。 1、解密file 文本打開,猜測可能是base64加密,嘗試解密一下。 發現關鍵字phoshop,則知道這是一個base64格式的圖片 還原出圖片,得到了 2、解密pdf 使用dlddddhm 可以解壓出來pdf 花朵解密得到: 把pdf ...
猜你喜歡
刷題之旅第14站,CTFshow miscx
感謝@小白師傅提供的題目 感謝CTF show平臺提供題目 下載文件后,只有misc1.zip可解壓。 解壓misc1.zip 開始分析misc.png,看見圖片中有2020,猜測密碼可能是2020. 使用密碼2020 解壓出 misc.doc 音符解密得到: 看見misc2.rar 提示信息 rat 2020 猜測是rabbit 加密,秘鑰為2020,解密字符串:U2FsdGVkX1/eK285...
刷題之旅第11站,ctfshow misc40
感謝@小白師傅提供的題目 感謝ctf show平臺提供題目 下載題目文件后,打開壓縮,一共四個文件 1、打開conversion.txt 按照下面提示,依次進行進制轉換得到 這串數字后面會用到。 2、打開二維碼.png 使用QR Reaserch 掃描,并沒有結果。 010查看一下圖片,尾部發現brainfuck代碼。 brainfuck解密后,是核心價值觀代碼 核心價值觀解密,得到123456 ...
刷題之旅第31站,CTFshow 紅包題第五彈
感謝ctf show平臺提供題目 下載到了題目的壓縮包,放入010editor中,查看一下。 工具報錯了,說明壓縮包里面有東西。 看見尾部是 FFD9 就知道,壓縮包里面有一張jpg圖片。 ctrl + F 進行搜索jpg的文件頭。FFD8 創建一個hex文件,并把FFD8 ~ FFD9之間的內容,復制出來,另存為jpg。 得到一張logo圖片。 使用steghide 工具,密碼為123456,解...
刷題之旅第1站,論劍場web11-15
web11 題目地址:鏈接 網站名為robots,那么打開robots.txt 發現shell.php 批量產生md5,碰撞前六位,腳本如下 提交碰撞好的md5,即可得到flag。 web12 題目死了,暫時不做 web13 抓包,看請求頭。 解密base得到flag flag{4042ce51148d3b8a653acc6ba810ced1} web14 根據提示,發現是GIT源碼泄露,使用gi...
刷題之旅第3站,論劍場web21
web21 F12看一下 看了一下,應該是代碼審計的題,使用php偽協議,進行post 以及文件包含漏洞。 http://123.206.31.85:10021/?user=php://input&file=php://filter/read=convert.base64-encode/resource=index.php 爆出了index.php源碼 http://123.206.31....