2020.3.30 xctf(PHP2)②

在这里插入图片描述⑴我们发现有个index.php,我们访问一下,没有结果…

那么我们看看能否看看该网页php地源码,这里用到了.phps
.phps后缀释义: phps文件就是php的源代码文件。 通常用于提供给用户(访问者)查看php代码,因为用户无法直接通过Web浏览器看到php文件的内容,所以需要用phps文件代替

于是我们访问index.phps,看到下图所示:
在这里插入图片描述ctrl+U看到完整php代码是:

<?php
if("admin"===$_GET[id]) {
  echo("<p>not allowed!</p>");
  exit();
}

$_GET[id] = urldecode($_GET[id]);
if($_GET[id] == "admin")
{
  echo "<p>Access granted!</p>";
  echo "<p>Key: xxxxxxx </p>";
}
?>

Can you anthenticate to this website?

==:表示只要值相等
===:要求类型也要相同
我们这里就需要绕过第一个的类型也相同。

注意:浏览器在上传数据时,会对参数值进行一次解码(与php代码无关,是浏览器自身会解码一次)
且注意到代码中在绕过第一次后,在第二次比较前,会先进行一次解码,然后再比较。
我们这里只要将admin中的一个字母进行一次编码以后得到的%再编码一次就可以了,不用将所有的都进行编码。
在这里插入图片描述示范一下a是怎么编码的:a先转ascii 9797 再转成16进制 61,并在前加上%.
第二次对%编码:将%转ascii,再转16进制,并再前加%。即为%25
在这里插入图片描述

发布了48 篇原创文章 · 获赞 3 · 访问量 3369

猜你喜欢

转载自blog.csdn.net/DSR446/article/details/105203438