picoCTF2018 Web Exploitation WriteUP
picoCTF2018のWeb Exploitation分野のWriteUPです。
WebExploitation
Inspect Me (125pt)
問題のページについて、ブラウザの検証ツールで中身を見る。
<!-- I learned HTML! Here's part 1/3 of the flag: picoCTF{ur_4_real_1nspe -->
早速トップページに何かいた。
ページとさっきの謎のコメントの文言から察するに、
CSSとJavaScriptファイルに続きがいそう。
URLの後ろにmycss.css, myjs.jsをつけてソースファイルを調べると発見。
/* I learned CSS! Here's part 2/3 of the flag: ct0r_g4dget_098df0d0} */
/* I learned JavaScript! Here's part 3/3 of the flag: */
なのでフラグは、picoCTF{ur_4_real_1nspect0r_g4dget_098df0d0}
Client Side is Still Bad (150pt)
パスワード忘れたのでなんとかして、とのこと。
問題のページを見るとパスワードだけ入れる
ログインフォームがある。
ブラウザの検証ツールを見ると...
# 一部抜粋。 <script type="text/javascript"> function verify() { checkpass = document.getElementById("pass").value; split = 4; if (checkpass.substring(split*7, split*8) == '}') { if (checkpass.substring(split*6, split*7) == 'd366') { if (checkpass.substring(split*5, split*6) == 'd_3b') { if (checkpass.substring(split*4, split*5) == 's_ba') { if (checkpass.substring(split*3, split*4) == 'nt_i') { if (checkpass.substring(split*2, split*3) == 'clie') { if (checkpass.substring(split, split*2) == 'CTF{') { if (checkpass.substring(0,split) == 'pico') { alert("You got the flag!") } } } } } } } } else { alert("Incorrect password"); } } </script>
思いっきりフラグ(パスワード)書いてあった。
数文字ずつ区切ってチェックさせてるだけ。
picoCTF{client_is_bad_3bd366}
Logon (150pt)
問題のサイトを開くと怪しいログインフォームが。
ユーザ名とパスワードを入れてログインする形式だが、
何も書かずともログインできる。
IDのところだけadminと入れると怒られるが、ここでCookieを確認。
ログイン関連のパラメータでusername, passwordがある。その上にadmin=FALSEとあるので、
ユーザ名・パスワードを空欄にして BurpSuite等プロキシで足止めし、
ログインボタンを押してからこの値をTRUEに書き換える
picoCTF{l0g1ns_ar3nt_r34l_aaaaa17a}
Irish Name Repo (200pt)
出たなSQLインジェクション
ID欄にadmin'--と入力し、想定されるSQLを崩してIDだけで検索させる
# 元の文 select id, passwd from users_tbl where id='admin' and passwd='hoge'; # 崩した後 select id, passwd from users_tbl where id='admin'--'and passwd='hoge';
picoCTF{con4n_r3411y_1snt_1r1sh_d121ca0b}
Mr. Robots (200pt)
問題のサイトのソースやらCookieを見ても特に怪しいところはなかった。
なので同じディレクトリに何かファイルとかありそう、と思った。
タイトル的にrobots.txtとか
User-agent: * Disallow: /30de1.html
Disallow欄にあるHTMLファイルが怪しいので、アクセスしてみたところ
フラグが書いてあった。
picoCTF{th3_w0rld_1s_4_danger0us_pl4c3_3lli0t_30de1}
No Login (200pt)
問題のサイトについて、
adminでログインするとフラグが出るらしい。
ところがSign inボタンを押しても実装されてないとのことだった。
Burp SuiteでCookieを追加し、admin=Trueで編集したところ、フラグが閲覧できた。
adminかそうでないかでしか見てないのね。
picoCTF{n0l0g0n_n0_pr0bl3m_50e16a5c}
Secret Agent (200pt)
問題のサイトにあるFlagボタンを押すと、
You're not google! Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36
と言われる。User Agentを見ているようなので、これを偽装する。
Chromeの検証ツール右上にある、・が縦に3つ並んだボタンを押す -> more tools -> network conditionsを選び、
User AgentをCustomからGooglebotにしてブラウザを更新するとフラグが見つかる。
picoCTF{s3cr3t_ag3nt_m4n_134ecd62}