やらかし
会員限定サイトを作りました。新規登録は出来ません。
https://aokakes.work/MaidakeCTF2020/yarakashi/
ログインすると、「くぅ~!残念っ!!」とあおられる。
ソースをみると<!-- ?source -->
とあり、?sourceにアクセスするとソースコードを見ることができる。
ソースコードを見てみよう
<?php if (isset($_GET['source'])) { show_source(__FILE__); exit(); } $error = ''; if (isset($_POST['name']) && isset($_POST['password'])) { $name = $_POST['name']; $pw = $_POST['password']; $pdo = new PDO('sqlite:./KazutoKirigaya.db'); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); $sql = $pdo->prepare('SELECT * FROM users'); $sql->execute(); $result = $sql->fetchAll(PDO::FETCH_ASSOC); if ($name == $result[0]['name'] && base64_encode($pw) == $result[0]['pw']) { session_start(); session_regenerate_id(true); $_SESSION['user'] = $result[0]['name']; header("Location: ./flag.php"); } else { $error = 'くぅ~!残念っ!!'; } } ?> <!-- ?source --> <!DOCTYPE html> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>やらかし</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"> </head> <body> <div class="container"> <div class="page-header" id="banner"> <div class="row my-2"> <div class="col-12"> <h2 class="text-center mx-1 mt-5">やらかし</h2> </div> </div> </div> <section class="bs-docs-section clearfix mt-5"> <div class="row"> <div class="col-12 col-lg-6 mx-auto"> <div class="bs-component"> <nav class="navbar navbar-expand-lg navbar-light bg-light rounded-lg border"> <form class="form-inline my-2 my-lg-0 w-100" id="form" method="post"> <p class="mx-auto my-5">ユーザー名とパスワードを入力してください</p> <input class="form-control mr-sm-2 w-100" type="text" placeholder="ユーザー名" name="name" required> <input class="form-control mr-sm-2 w-100 my-2" type="password" placeholder="パスワード" name="password" required> <p class="mx-auto text-danger" id="error"> <?php echo $error == '' ? ' ' : $error; ?> </p> <button class="btn btn-primary col-12 mx-auto mt-3 mb-5" type="submit" name="login" value="aimai">ログイン</button> </form> </nav> </div> </div> </div> </section> <footer class="footer"> <div class="container mt-5"> <p class="text-muted text-center">Copyright © aokakes All Rights Reserved.</p> </div> </footer> </div> </body> </html>
SQLiteのDB
$pdo = new PDO('sqlite:./KazutoKirigaya.db');
とあるので、/MaidakeCTF2020/yarakashi/KazutoKirigaya.db
にアクセスしてみると、ダウンロードできる。
中身を見てみよう。
- nameは
Eugeo
- pwは
U3RhcmJ1cnN0U3RyZWFt
pwはbase64で保存されているので、CyberChefで戻すとStarburstStream
となる。
これでログインするとMaidakeCTF{The_motorcycle_Kirito_is_riding_is_said_to_be_a_DT125R}
が出てくる。