FireShell CTF 2019

FireShell CTF 2019 writeup Alphabet

Alphabet

60

If you know your keyboard, you know the flag

提示されたファイルを確認するとハッシュ値をスペース区切りで羅列しているようです。いくつかのハッシュ値をGoogleで検索すると、ASCII文字をMD5またはSHA256でハッシュ化したもののようです。

それでは、ASCII文字のMD5とSHA256のハッシュ値を辞書化し、提示されたファイルのハッシュ値から文字を取得して表示します。
import sys
import string
import hashlib

hash = {}
for c in string.printable:
hash[hashlib.md5(c).hexdigest()] = c
hash[hashlib.sha256(c).hexdigest()] = c
f = open('submit_the_flag_that_is_here.txt')
t = f.read()
f.close()
l = t.split(' ')
for s in l:
if s.strip() != '':
sys.stdout.write(hash[s])
実行すると、次のようなテキストが出力されます。
(省略)_P#asellus_tempor_eu_magna_et_scelerisque._Congratulations!_T#e_Flag_Is_F#{Y3aH_Y0u_kN0w_mD5_4Nd_Sh4256}_Donec_facilisis_turpis_vel_ex_tempus_lacinia._Done(省略)
フラグは、
F#{Y3aH_Y0u_kN0w_mD5_4Nd_Sh4256}
です。



FireShell CTF 2019 writeup Welcome

Welcome

60

Well done!

ルールページにフラグが記載されています。

Show that you are good CTF players who read the rules and take this gift: F#{w3lc0m3_gUyS!!!!!FIr35h#L_ctF_@)!(}


フラグは、
F#{w3lc0m3_gUyS!!!!!FIr35h#L_ctF_@)!(}
です。



FireShell CTF 2019 writeup babycryptoweb

babycryptoweb

60

Can you help me recover the flag?

https://babycryptoweb.challs.fireshellsecurity.team/

提示されたURLを表示すると次のようにPHPのソースコードが表示されます。
<?php
$code '$kkk=5;$s="e1iwZaNolJeuqWiUp6pmo2iZlKKulJqjmKeupalmnmWjVrI=";$s=base64_decode($s);$res="";for($i=0,$j=strlen($s);$i<$j;$i++){$ch=substr($s,$i,1);$kch=substr($kkk,($i%strlen($kkk))-1,1);$ch=chr(ord($ch)+ord($kch));$res.=$ch;};echo $res;';
    
if (isset(
    
if (isset($_GET['p']) && isset($_GET['b']) && strlen($_GET['b']) === && is_numeric($_GET['p']) && (int) $_GET['p'] < strlen($code)) {
    
    $p = (int) $_GET['p'];
    
    $code[$p] = $_GET['b'];
    eval(
    eval($code);
} else {
    
} else {
    show_source(__FILE__);
}

}
?>    
パラメータとしてpとbを必要とします。pは数字で$codeの文字列長より小さい値、bは1文字である必要があります。$codeのpで指定された位置の文字をbで指定した文字で置き換えてeval関数で実行します。
$codeを読みやすく記述すると次のようになります。
$code = '
$kkk=5;
$s="e1iwZaNolJeuqWiUp6pmo2iZlKKulJqjmKeupalmnmWjVrI=";
$s=base64_decode($s);
$res="";
for($i=0, $j=strlen($s); $i < $j; $i++)
{
$ch=substr($s,$i,1);
$kch=substr($kkk,($i % strlen($kkk)) - 1, 1);
$ch=chr(ord($ch)+ord($kch));
$res.=$ch;
};
echo $res;
';
上記の「+」を「-」に置き換えてみます。
pに201、bに-を指定してアクセスするとフラグが表示されます。
フラグは、
F#{0n3_byt3_ru1n3d_my_encrypt1i0n!}
です。



FireShell CTF 2019 writeup Where is the IRC?

Where is the IRC?

60

Ruleページに記載されているDiscordサーバに接続します。
#reconチャンネルを表示します。
見出し部分にフラグが記載されています。

1
フラグは、
F#{D1sc0rd_b3tt3r_th4n_1RC}
です。



記事検索
ギャラリー
  • 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
カテゴリー