in wechall

[wechall] Write Up

http://www.wechall.net/challs

Prime Factory: http://www.wechall.net/challs

這一題算是程式題,寫一個找質數的程式即可。

Training: Get Sourced

這一題是練習題,滑鼠按右鍵選擇:查看原始碼,即可以看到 source code 拉到下面就會有 flag 訊息。

 

Training: Stegano I (Training, Stegano)

這是一題圖片隱藏訊息的題目,可以使用 HxD 來觀看圖片的十六進位編輯器,就會看到裡面隱藏的 flag了。

 

Training: Crypto – Caesar

這是一題基礎的凱薩密碼,利用一個現有的線上凱薩密碼breaker:https://www.nayuki.io/page/automatic-caesar-cipher-breaker-javascript

貼上去之後,就會把正確的文字解密出來了。當然,這一題也可以自己寫程式寫一個 decrypter 解出來。

Training: WWW-Robots

查看一個網頁中的:robots.txt 接著會發現有一行文字:Disallow: /challenge/training/www/robots/T0PS3CR3T

拜訪這個網址,就會發現這一題就過關了。

 

Training: ASCII

這一題是代你了解什麼是ASCII code,可以利用線上的ASCII code 把ASCII code 解碼出來。(或是也可以自己寫decoder 程式解出來)

http://www.dcode.fr/ascii-code

decode (解碼)出來之後,flag 也就會出現了。

 

Encodings: URL

這一題是拿到一個經過編碼的網址,利用線上解碼的網址:https://urldecode.org 就可以解出有一個請你拜訪的 flag 的網址(如下),拜訪連結之後,這一題就過關了。

http://www.wechall.net/challenge/training/encodings/url/saw_lotion.php?p=sreelfaibmdm&cid=52#password=fibre_optics

 

Training: Encodings

這一題是 Encoding 類型的題目,首先先把這題提供的工具下載回來。http://www.wechall.net/tools/JPK

接著,用8 bits 方式 format 。再從 binary 轉成 ASCII。會發現轉出來的是亂碼,常是找到write up 之後,是發現要用7 bits 來進行format ,再轉一次ASCII之後,就會成功了。

 

Training: Programming 1

這題是因為兩個網址時間只能相差 1 秒左右,所以一般使用者的作法是做不到的,所以我們需要寫一個AJAX code 來解決這個問題。注意:需要使用同步的方式進行,因為這樣才可以確保先拿到亂數的文字,再把文字拿去給另外一個連結做認證。

把上述這段 code 貼到 Chrome console 上,接著console 上面會印出回應回來的HTML,裡面有一行:Your answer is correct. Congratulations you have solved this challenge.

這樣這題就過了,一定要在console 中執行,是因為它會檢查你的 cookie 是否是正確的。

 

Guesswork (Exploit)

這題是一題猜測密碼的題目,就猜測,密碼有點無言:wechallbot

 

No Escape (Exploit, PHP, MySQL)

這題是一題簡易的 SQL injection, 看起來很複雜,不過會發現:第 72 行有些問題。

因此把vote_for 後面的參數稍微改成:bill=111,george=george 再把這段字串用 url 編碼起來放到 vote_for 參數中。

就會通過了。

 

Training: Regex

這一題是練習題,主要是練習有關正規表達式的知識。

 

Training: PHP LFI

這一題是有關於PHP 的LFI 問題(Local File Inclusion)

這一題只要:http://www.wechall.net/challenge/training/php/lfi/up/index.php?file=../../solution.php%00 就會過了。

原因是因為:PHP code 沒有檢查後面要引入的檔案字串,直接拿去 include 函式的話,就會引入到不應該引入的檔案。

因此需要在 include file 前做好判斷檔案來源的字串。

 

PHP 0817

這一題一樣也是PHP LFI 的問題,因為 switch…case 在PHP 來說,對於型別檢查非常的鬆散,所以把字串放進去之後,會自動轉型成0 做判斷,那這樣是不對的….

Training: Crypto – Transposition I

這一題是 crypto 的練習,這一題主要是跟:Transposition Cipher 有關,把題目所給的加密過後的字串放到線上解密(Transposition Cipher Solver)

http://tholman.com/other/transposition/ 這裡做解密之後,就會看到明文了,Proposed Key length 調成:2 。長度可以自己試一試,就會知道正不正確了。

接下來,讀的方式是:1->0->1->0 ….這樣的順序去讀,就會找到 flag 了。

 

Training: Crypto – Substitution I

這一題是 crypto 的練習,這一題是在考有關於 Substitution Cipher 有關的。放到這個線上解密之後,http://quipqiup.com/

他會列出所有可能的解,找到一個最合適的英文句子,裡面就會看到 flag 了。

 

Training: Crypto – Caesar II

這一題是凱薩密碼的進階題。