【发布时间】:2016-02-08 12:34:33
【问题描述】:
我有一个作业,它是一个网页(登录页面),任务是进入并绕过登录论坛,我首先查看的是页面的来源,我发现如果我想要用户名我应该去 /page.phps 目录,我做到了。进入该目录后,我被这段代码重定向到另一个页面
<?php
$super_admin_access = false;
// Set our super-admin level user?
if (isset($_GET['user'])) {
$user = html_entity_decode($_GET['user']);
if ($user === "<root>") {
$super_admin_access = true;
}
}
?>
<div class="logo"><img src="../assets/images/challenge-priserv-logo.svg" alt="Nethub logo"></div>
<div class="login">
<form class="form" onsubmit="doLogin(); return false">
<div class="message message-error" id="login-error-msg" style="display: none">Denied!</div>
<div class="field">
<div class="label">Username</div>
<input type="text" name="username">
</div>
<div class="field">
<div class="label">Password</div>
<input type="password" name="password">
</div>
<!-- In case I forget, details are at page.phps -->
<div class="actions">
<input type="submit" value="Access server" class="btn">
</div>
</form>
</div>
我不知道我是否以正确的方式理解了 php 代码,但我首先想到的是以 html 实体格式编写 "<root>" 变成 &#x22;&#x3C;root&#x3E;&#x22;,尤其是有一个提示说
Did you see the comment in the source code suggesting you take a look at page.phps? Take a look. What does urldecode do? Can you do the opposite of urldecode?
所以我尝试使用用户名"<root>" 或编码的&quot;&lt;root&gt;&quot; 登录我尝试删除配额但没有运气,我不知道是否有密码或类似的东西,我会很感激任何帮助给了,谢谢:)。
【问题讨论】:
-
在网站上看过。它没有使用
html_entity_decode,但实际上使用了urldecode。访问login.php?user=%3Croot%3E作品。 -
它没有显示标志
-
非常感谢它的工作!
-
但我想问一下为什么它不适用于 .php 的东西?